两种常用的字符串的比较方法

  比较字符串比较常用的两个方法是运算符“=”和String的equals方法。

  使用“=”比较两个字符串,是比较两个对象的的“地址”是否一致,本质就是判断两个变量是否指向同一个对象,如果是则返回true,否则返回的是false。而String类的equals方法则是比较两个字符串的内容是否一致,返回值也是一个布尔类型。

  看下面的代码:

 1 public class TestString{
 2          public static void main(String[] args){
 3                    String str1 = "张三";
 4                    String str2 = "张三";
 5                    System.out.println(str1 == str2);    //返回true
 6                    System.out.println(str1.equals(str2));   //返回true
 7                    String str3 = new String("李四");
 8                    String str4 = new String("李四");
 9                    System.out.println(str3 == str4);    //返回false
10                    System.out.println(str3.equals(str4));   //返回true
11      }      
12 }    

结果输出:

 

  从上面的代码也可以看得出来,通过String str = " XXX"方式和通过String str = new String("XXX")方式创建的字符串在计算机堆栈空间里的存储是不一样的

现在我也是一个小白,对堆栈空间的理解现在也不是很到位,所以在这里也不好说其中的“玄机”。今天主要是想分享学习到的两种常见的字符串比较方法。

posted @ 2017-03-12 22:51  沐易笙  阅读(3089)  评论(2)    收藏  举报