为什么这句话是不好的做法:
String colour= new String("Blue");
与此声明有何不同
String colour="Blue";
答案 0 :(得分:0)
第一个是不鼓励的,因为它从String
实习池中读取String
,然后实例化一个新的对象实例。关于String interning的维基百科文章(部分)
在计算机科学中,字符串实习是一种只存储每个不同字符串值的一个副本的方法,该字符串值必须是不可变的。实习字符串使得一些字符串处理任务更加节省时间或空间,代价是在创建或实现字符串时需要更多时间。不同的值存储在字符串实习池。
中
第二个示例从实习池中分配对String
的引用。
答案 1 :(得分:0)
您正在创建一个不必要的String对象。
String colour= new String("Blue");
“Blue”已经是String类型。