您的位置:首页 > 编程语言 > Java开发

java String类型详解

2015-03-11 17:59 525 查看
string 类型是java中一个十分特殊的类型。他涉及到一个字符常量池的概念,并且与堆栈的概念混淆起来。这次我在这里做一个梳理

String str = "abc";  //在常量池中建一个对象
String str1 = "abc";  //常量池已经有对象了,所以复用
String str2 = new String("abc");  //常量池已经有对象了,所以复用 ,堆中引用,栈中new String("abc");
System.out.println(str == str1);//  true
System.out.println(str1 == "abc"); //true
System.out.println(str2 == "abc");  //false
System.out.println(str1 == str2);  //false
System.out.println(str1.equals(str2)); //true
System.out.println(str1 == str2.intern());//true
System.out.println(str2 == str2.intern());  //false  str2.intern()返回常量池的对象
System.out.println(str1.hashCode() == str2.hashCode());```


String s0=”kvill”;

String s1=”kvill”;

String s2=”kv” + “ill”; //这里并没有“kv”和“ill” 对象,在编译期就被解析为一个字符串常量

System.out.println( s0==s2 ); //true

System.out.println( s0==s1 ); //true

“`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: