创建String对象时, 使用String s=new String ("abc")和String s="abc"语句有什么区别?
2011-03-14 11:03
609 查看
Java运行环境有一个字符串池,由String类维护。执行语句String
s="abc"时,首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给s,如果不存在则先在字符串池中新建一个字符串
"abc",然后再将其赋给s。执行语句String s=new String("abc")时,不管字符串池中是否存在字
符串"abc",直接新建一个字符串"abc"(注意:新建的字符串"abc"不是在字符串池中),然后将其付给s。前一语句的效率高,后一语句的效率低,因为新建字符串占用内存空间。
相关文章推荐
- 第2章 Java编程基础——FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- -----String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
- new一个类对象和使用类名创建一个对象有什么区别?该怎么解决
- String字面值对象和构造方法创建对象的区别:String s = new String("hello")和String s = "hello";的区别
- JS 对象和数组的创建使用new和不使用new有什么区别呢?
- String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
- javascript中""和new创建String对象的区别
- 对象引用与对象的区别 ,String s = new String("abc");创建了几个对象?
- String s = Null 与 s="" 有什么区别?null意思是不存在,""意思是存在,但是值为空 null表示还没new出对象,就是还没开辟空间 “”表示new除了对象,但是这个对象装的是空
- Java基础:创建String对象时,String s=new String("abc")和String s="abc"的区别
- new一个类对象和使用类名创建一个对象有什么区别?
- String s=new String("xyz");创建了几个String Object?二者之前的区别是什么?
- String s = new String("abc");创建了几个String对象?
- String a=new String("b"+"c")会创建几个对象?
- Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别
- 【Java面试题】18 java中数组有没有length()方法?string没有lenght()方法?下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";
- Stringstr=new String("abc") 这行代码究竟创建了几个对象?