java中的字符串比较要注意

时间:14-11-08 栏目:软件 作者:烟雨网 评论:0 点击: 1,147 次

今天写java代码的时候,竟然犯了个很低级的错误,就是关于java中的字符串比较的问题。
先看代码:

String a="a";

String b="a";

System.out.print(a==b);

这时候得到的结果不是我想要的true.这点是关键,由于写过的语言比较多,语法混淆导致这种比较错误出现。本来在PHP或C#、Python中这个结果都会是true.就是在语言中有个java的javascript中这个结果也是成立的。

但是在java中的字符串比较就比较特殊,上面这种比较方式是比较引用地址。类似下面的这段代码也同样。

String a= new String("a");

String b= new String("a");

System.out.print(a==b);

结果同样得不到你想要的true.

那要比较这两个内容相等应该怎么办?
可以这样:

String a="a";

String b="a";

System.out.print(a.intern()==b.intern());

也可以这样:

String a="a";

String b="a";

System.out.print(a.equals(b));

这次记下来,下次应该不会忘了,哈哈

声明: 本文由( 烟雨网 )原创编译,转载请保留链接: java中的字符串比较要注意

java中的字符串比较要注意:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!