首页 > 编程语言 > 详细

Java中关于String的比较

时间:2016-03-09 00:01:24      阅读:201      评论:0      收藏:0      [点我收藏+]

关于String的各种==和equals,有的人搞不懂

简而言之

String  s1 = "Hello"                     声明的是一个常量,会在常量池里。

String  s2 = new String("Hello"),声明的是一个对象,在内存里会有单独的空间。 

==比较的是String的地址

equals比较的是String的内容

public class TestString{
    public static void main(String[] args){
        String str1 = new String("Hello");
        String str2 = new String("Hello");
        String str3 = "Hello";
        String str4 = "Hello";
        System.out.println(str1.hashCode());
        System.out.println(str2.hashCode());
        System.out.println(str1.equals(str2));
        System.out.println(str1==str2);
        System.out.println(str1.equals(str3));
        System.out.println(str1==str3);    
        System.out.println(str3.equals(str4));
        System.out.println(str3==str4);    
    }
}

输出是:

69609650
69609650
true
false
true
false
true
true

 

Java中关于String的比较

原文:http://www.cnblogs.com/yueyanglou/p/5256162.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!