Java字符串:“String s=新字符串(”愚蠢“);
我是一个学习Java的C+的人。我正在阅读有效的Java,有些东西让我感到困惑。它说永远不要写这样的代码:String s = new String("silly");
因为它创造了不必要的String物品。相反,它应该是这样写的:String s = "No longer silly";
好吧,到目前为止…但是,考虑到这门课:public final class CaseInsensitiveString {
private String s;
public CaseInsensitiveString(String s) {
if (s == null) {
throw new NullPointerException();
}
this.s = s;
}
:
:}CaseInsensitiveString cis = new CaseInsensitiveString("Polish");String s = "polish";为什么第一条声明没问题?不是应该吗
CaseInsensitiveString cis = "Polish";
我该怎么做CaseInsensitiveString表现得像String所以上面的语句是OK的(有和没有扩展String)?是什么让字符串能够像那样传递一个文字呢?根据我的理解,Java中没有“复制构造器”的概念?