Java中字符串比较

原创 2007年09月20日 11:19:00
熟悉C++的人对于两个字符串比较的代码一定很了解:
(string1==string2)
但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false
Java中必须使用string1.equals(string2)来进行判断

补充
如果:
string s1=new String("Hello");
string s2=new String("Hello");
则(s1==s2)=false

如果:
string s1="Hello";
string s2="Hello";
则(s1==s2)=true;
因为他们指向的同一个对象。

如果把其他变量的值赋给s1和s2,即使内容相同,由于不是指向同一个对象,也会返回false。所以建议使用equals(),因为equals比较的才是真正的内容

 

例如:
string1="aaa";
string2="aaa";
这两个字符串当然应该是相等的。
如果用表达式string1==string2,则该表达式的值为false
如果用表达式string1.equals(string2),则该表达式的值为true
因此应该用string1.equals(string2),在if语句中就是
if(string1.equals(string2)==true) //字符串相等,……

string1==string2,是值相等,而且内存地址也相等,是完全的相等
string1.equals(string2)为true,只是值相等 

java字符串比较举例

  • 2013年11月09日 21:18
  • 556B
  • 下载

java 字符串间的比较

  • 2010年06月18日 17:21
  • 117KB
  • 下载

java实现两个字符串的比较

compareTo方法是比较两个字符串的词典顺序  也就是在字典中的顺序,比如“abcd”在“acdb”前面  另外你应该先把字符串转变成int,然后再比较  可以用下面的方法比较两个整数  ...
  • L_serein
  • L_serein
  • 2012年03月26日 22:19
  • 29679

java几种切割字符串方法的性能比较

几种方法对http响应体的字符串切割的性能比较

java时间(字符串)对象之间的比较/某天时间获取

/** * 获取当前日期/当前日期前n天日期 * @param status 0:当前日期/1:当前日期前n天 * @return 时间字符串 */ ...

java中的字符串变量的比较

关于java String类的一些理解
  • AboyL
  • AboyL
  • 2016年07月29日 01:10
  • 1695

Java中判断一个字符串不为空的方法及性能比较

一、判断一个字符串str不为空的方法有:   1、str == null;   2、”“.equals(str);   3、str.length ...

Java 5种字符串拼接方式性能比较

总结:字符串优化 由于String对象时不可变对象,因此在需要对字符串进行修改操作时(如字符串连接和替换),String对象总是会生成新的对象,所以其性能相对较差。 String常量的累加操作:对于...

字符串日期比较和时间差 and java时间操作函数汇总

原文: http://yakar.javaeye.com/blog/179171只要格式正确,直接比较字符串就可以了呀,精确到秒的也一样     String   s1   =   "2003-12-...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中字符串比较
举报原因:
原因补充:

(最多只允许输入30个字)