您的位置:首页 > 其它

String定义的两种方法的区别

2014-08-11 17:15 99 查看
//new的方式
String s1=new String("hello");
String s2= new String("hello");
System.out.println(s1==s2);//输出false
//字面值方式
String s3="hello";
String s4="hello";
System.out.println(s3==s4);//输出true


第二种方式 java有一个字符串缓冲区 你新建一个的时候它会先找缓冲区里有没有这个字符串 如果有 直接返回引用 没有就在里面新建

第一种方式 它首先也会去缓冲区里边查找 不管有没有 它都会在堆里新建一个 如果缓冲区里面没有 则在缓冲区里面也新建一个·



ps:一个普遍的道理,只要出现new,一定是个新的对象,==一定是false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: