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字符串比较

String类覆盖了Object类的equals()方法,并提供了自己的实现,equals()方法是根据它们的内容比较两个字符串的相等性。 等于(相等) 例如,可以比较两个字符串的相等性,...

java字符串比较大小

public int compareTo(String anotherString)           按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 Str...

java字符串的比较总结

java中,常会对字符串进行比较     a  ==  b,是对a,b的内存指向和值都进行了判断,都相等则返回true,否则返回false     a.equal(b),只是对a,b的值进...
  • MK_cf
  • MK_cf
  • 2016-12-07 08:51
  • 167

Java基础(11):字符串—深入理解String对象和比较符==和equals的不同

String类是被final修饰的类,是不可变的,也不能被继承。而且String对象都是常量,例如"adsf" ,"ADcd"等字符串就是存储在常量池中。 我们使用字符串时,会采用两种方式: Stri...

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

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

java---字符串操作(连接,获取信息,比较,替换)

1、字符串连接: + 、concat()  public class Test { public static void main(String[] args) { String str1 ...

java中字符串的比较

JAVA中字符串比较equals是用来比较字符串是否相等的,==比较是否为相同reference,不能用做字符串的比较.如果要比较大小应该用compareto(String),它是依次比较字符串的每个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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