在查看在线代码示例时,我有时会通过使用new运算符将String常量赋值给String对象.
例如:
String s;
...
s = new String("Hello World");
Run Code Online (Sandbox Code Playgroud)
当然,这与之相比
s = "Hello World";
Run Code Online (Sandbox Code Playgroud)
我不熟悉这种语法,也不知道目的或效果是什么.由于String常量通常存储在常量池中,然后以JVM处理String常量的任何表示形式存在,甚至还会在堆上分配任何内容?
我正在学习 Java,但我不明白为什么要以这种方式创建变量。例如:int[] numberArray = new int[10];或StringBuilder newString = new StringBuilder();
当然,当您创建对象(如大小为 10 的整数数组)时,可以自动推断类型并且不需要再次指定,或者对于第二种情况,我正在创建一个 StringBuilder,这意味着 Java 已经知道对象是对的吗?
我的主要语言是 Python,虽然我知道 Java 是静态类型的,但这是没有必要的。