String str=new String("a")和String str = "a"有什么区别?
2013-09-02 17:14
615 查看
问:String str=new String("a")和String str = "a"有什么区别?
答:String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它;如果没有,才创建它;
如果你以后还用到"a"这个字符串的话并且是这样用:
String str1 = "a"; String str2 = "a"; String str2 = "a"; 这4个变量都共享一个字符串"a"。
而String str = new String("a");是根据"a"这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给str。
答:String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它;如果没有,才创建它;
如果你以后还用到"a"这个字符串的话并且是这样用:
String str1 = "a"; String str2 = "a"; String str2 = "a"; 这4个变量都共享一个字符串"a"。
而String str = new String("a");是根据"a"这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给str。
相关文章推荐
- String str = "hello"; 与 String str = new String("hello"); 有什么区别?
- -----String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
- String s=new String("xyz");创建了几个String Object?二者之前的区别是什么?
- String a = "sss";和String a = new String("sss");有什么区别吗?
- String str 与 String str=new String("") 区别
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
- Java中的String str="abc"; String str=new String("abc");和String str = new String();的区别以及==与equals()的不同。
- String str = new String("abc")和String str = "abc"区别
- String str=null; 和String str=""有什么区别
- Java中的String str="abc"; String str=new String("abc");和String str = new String();的区别以及==与equals()的不同。
- String str="abc" 与 String str = new String("abc")区别
- Java的内存机制 String str = "abc" 和String str = new String("abc")的区别
- 创建String对象时, 使用String s=new String ("abc")和String s="abc"语句有什么区别?
- 关于String str="abc"与String str= new String("abc")区别
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- "int i=1" "int i=new int() "和“String str = "a";” “String str = new String("a")”区别以及c#值类型和引用类型
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- String s = Null 与 s="" 有什么区别?null意思是不存在,""意思是存在,但是值为空 null表示还没new出对象,就是还没开辟空间 “”表示new除了对象,但是这个对象装的是空
- 【java】 String str = "test"; 与 String str = new String("test"); 的区别