谁帮我看一下简单代码 private String s=new String("Constructed");和private String s="Constructed";有什么区别?不都是基本型别的定义和附值吗?还望多多指点 在线等!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private String s=new String("Constructed");和private String s="Constructed";有什么区别?String是一个不变的对象,如果存在一个String那么它就用存在的,如果没有存在,那么就会新建立一个比如String A= "a test"String B= "a test"那么A==B就是Trueprivate String s1=new String("Constructed");新建立一个,然后放到共享池一个private String s="Constructed";使用共享池里面的 public class testString{ public static void main(String[] arg){ String A=new String("a test"); String B="a test"; System.out.println(A==B); String C ="b test"; String D ="b test"; System.out.println(C==D); }}你可以看看这个结果就知道了:) falsetrue有点不明白,为什么第一个是false private String s1=new String("Constructed");新建立一个,然后放到共享池一个private String s="Constructed";使用共享池里面的第一次听共享池 不明白! 什么意思? 在java中,相同的字符串在内存中只有一份,所有内容相同的String都是引用同一个。例如,String a="abc"定义了a之后,内存中有了一份"abc",当再定义一个String b="abc"时,java并不生成一个新的"abc",而是直接引用原来的那个,所以,a和b都是指向同一个对象的引用。而使用new String("")则会创建一个新的对象。Java中对String的处理是比较特殊的。楼主的代码好像是<<thinking in java>>中的,你可以看看这本书附录A中的read-only classes这一节,以及<<Effective Java>>的条款4,有更详细的介绍。 纠正马士兵视频中线程那一章的一个小错误,大家看看 java发送邮件失败 拜师学习JavaSE 有谁能解释一下code points和code units? 急!!!!!如何用 Java 从 Oracle 中读出所有的表名 是用Java 高份求答案,谁知道JAVA_HOME/jre/lib/security/java.security这个配置文件的作用 能否用java写木马程序 内部类的作用?? 谁能推荐一个从已有的JAVA 代码生成其对应UML class图的工具? 循环输入字符到StringBuffer 最后输出字符问题 需要JIVE 2.5以上的源码 创建对象的区别
private String s="Constructed";有什么区别?String是一个不变的对象,如果存在一个String那么它就用存在的,如果没有存在,那么就会新建立一个
比如
String A= "a test"
String B= "a test"
那么
A==B
就是Trueprivate String s1=new String("Constructed");新建立一个,然后放到共享池一个
private String s="Constructed";
使用共享池里面的
public static void main(String[] arg){
String A=new String("a test");
String B="a test";
System.out.println(A==B);
String C ="b test";
String D ="b test";
System.out.println(C==D);
}
}
你可以看看这个结果就知道了:)
true
有点不明白,为什么第一个是false
private String s="Constructed";
使用共享池里面的第一次听共享池 不明白! 什么意思?
例如,String a="abc"定义了a之后,内存中有了一份"abc",当再定义一个String b="abc"时,java并不生成一个新的"abc",而是直接引用原来的那个,所以,a和b都是指向同一个对象的引用。而使用new String("")则会创建一个新的对象。Java中对String的处理是比较特殊的。
楼主的代码好像是<<thinking in java>>中的,你可以看看这本书附录A中的read-only classes这一节,以及<<Effective Java>>的条款4,有更详细的介绍。