Diff在Java中使用新的String("xyz")和"xyz"

Ami*_*dav 3 java string instantiation

可能重复:
字符串对象和字符串文字之间的差异

你好,

最重要的是,让我们用String提出Java事实

字符串是不可变的 我的问题 - 如果字符串是不可变的,那么下面的语句应该有编译错误!

             String str = "xyz";
                     or
             String str = new String("xyz");

             str = "abc";        //COMPILATION ERROR
                 or
             str = new String("abc");  //COMPILATION ERROR
Run Code Online (Sandbox Code Playgroud)

以下实例化有什么区别?

 String str = "xyz";
      and
 String str = new String("xyz");
Run Code Online (Sandbox Code Playgroud)

艾米特.

Pra*_*rav 5

字符串是不可变的意味着你不能做的事情,str[1] = 'x'即你不能改变字符串的内容.

将回答你的第二个问题.