问答详情
源自:6-3 如何使用 Java 中的数组

String类型


String str = student   和
String str = new string (student)
有什么区别?

提问者:慕婉清9079475 2018-07-11 15:34

个回答

  • 丶丿Moon
    2018-07-11 16:40:38
    已采纳

    String str1 = “student”;

    String str2 = “student”;

    String str3 = new string (“student”);

    String str4 = new string (“student”);

    System.out.println(str1 == str2); // true

    System.out.println(str1 == str3); // false 

    System.out.println(str3 == str4); // false 

    可以看出str1 和str2 指向同一个对象,而用new的方式是生成不同的对象,每一次调用都生成一个新的对象。

    String str = “student”生成多个“student”字符串,在内存中其实只存放一个对象而已。而对于String str = new string (“student”)的代码,则一概创建新对象,而不管其字符串值是否相等,是否有创建新对象的必要。

  • 慕仰5167399
    2018-07-16 12:38:09

    这就牵扯到了继承与原型链了