为什么String Object Instantiation是一种不好的做法?

时间:2015-07-11 01:02:44

标签: java string

为什么这句话是不好的做法:

String colour= new String("Blue"); 

与此声明有何不同

String colour="Blue"; 

2 个答案:

答案 0 :(得分:0)

第一个是不鼓励的,因为它从String实习池中读取String,然后实例化一个新的对象实例。关于String interning的维基百科文章(部分)

  

在计算机科学中,字符串实习是一种只存储每个不同字符串值的一个副本的方法,该字符串值必须是不可变的。实习字符串使得一些字符串处理任务更加节省时间或空间,代价是在创建或实现字符串时需要更多时间。不同的值存储在字符串实习池

第二个示例从实习池中分配对String的引用。

答案 1 :(得分:0)

您正在创建一个不必要的String对象。

String colour= new String("Blue");

“Blue”已经是String类型。