用new String() 创建的字符串不是常量,不能在编译期就确定,所以new String() 创建的字符串不放入常量池中,它们有自己的地址空间。 看例2: 1String s0=”kvill”;2String s1=newString(”kvill”);3String s2=”kv” +newString(“ill”);4System.out.println( s0==s1 );5System.out.println( s0==...
publicstaticvoid main(String[] args) { String s0 = "kvill"; String s1 = new String("kvill"); String s2 = new String("kvill"); System.out.println( s0 == s1 ); //false System.out.println( "***" ); s1.intern(); //虽然执行了s1.intern(),但它的返回值没有赋给s1 s2 = s2...
String word="HelloWorld"; String reverse=newStringBuffer(word).reverse().toString(); System.out.printf(" original String : %s , reversed String %s %n", word, reverse); //another quick to reverse String in Java - use StringBuilder word="WakeUp"; reverse=newStringBuilder(word).reverse().toS...
因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性. 2. new String()和new String("")都是申明一个新的空字符串,是空串不是null; 3. String str="kvill"; String str=new String ("kvill");的区别: 在这里,我们不谈堆,也不谈栈,只先简单引入常...