String是一个Object。为什么可以像原始类型一样初始化它:String str =" my string&#34 ;;
我希望只使用构造函数来看初始化:new String(" my string");
答案 0 :(得分:2)
这只是java提供的简化。另一种选择将是巨大的丑陋。您的替代解决方案有一个简单的逻辑错误:
new String("my string");
以及使用字符串文字只是"my string"
。 真实替代方案将是
new String(new char[]{'m','y',' ',...,'n','g'});
或者只是使用byte[]
(已弃用)的相同示例,这看起来会更糟。
答案 1 :(得分:0)
您可以转到javadocs:
除非需要显式的原始副本,否则不必使用此构造函数,因为字符串是不可变的。