比较字符串比较常用的两个方法是运算符“=”和String的equals方法。
使用“=”比较两个字符串,是比较两个对象的的“地址”是否一致,本质就是判断两个变量是否指向同一个对象,如果是则返回true,否则返回的是false。而String类的equals方法则是比较两个字符串的内容是否一致,返回值也是一个布尔类型。
看下面的代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
public class TestString{ public static void main(String[] args){ String str1 = "张三" ; String str2 = "张三" ; System.out.println(str1 == str2); //返回true System.out.println(str1.equals(str2)); //返回true String str3 = new String( "李四" ); String str4 = new String( "李四" ); System.out.println(str3 == str4); //返回false System.out.println(str3.equals(str4)); //返回true } } |
结果输出:
从上面的代码也可以看得出来,通过String str = " XXX"方式和通过String str = new String("XXX")方式创建的字符串在计算机堆栈空间里的存储是不一样的
现在我也是一个小白,对堆栈空间的理解现在也不是很到位,所以在这里也不好说其中的“玄机”。今天主要是想分享学习到的两种常见的字符串比较方法。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/Mus-Li/p/6540057.html