有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java字符串初始化为基元类型

字符串是一个对象。为什么可以像原语类型一样初始化它:String str=“my String”

我希望只使用构造函数来进行初始化:new String(“我的字符串”)


共 (2) 个答案

  1. # 1 楼答案

    你可以去javadocs

    Unless an explicit copy of original is needed, use of this constructor is unnecessary since Strings are immutable.

  2. # 2 楼答案

    这只是java提供的一种简化。另一种选择是巨大的丑陋。您的替代解决方案有一个简单的逻辑错误:

    new String("my string");
    

    Just as well使用字符串文字作为简单的"my string"。真正的选择是

    new String(new char[]{'m','y',' ',...,'n','g'});
    

    或者只是使用byte[](不推荐)的同一个例子,这看起来更糟