首页 > 试题广场 >

判断下面代码的输出情况() String s1=new St

[单选题]

判断下面代码的输出情况()

String s1=new String("nowcoder");
String s2=new String("nowcoder");
System.out.println(s1==s2);
System.out.println(s1=="nowcoder");
  • false false

  • true true

  • false true

  • true false
new关键字将触动Java虚拟机在堆内存分配一个String数据类型的存储空间。根据题意,String类型变量s1和s2各自引用一个对象,虽然对象状态都为"nowcoder",但本身字符内容存储在不同的地址空间。而Java中的"=="判断的是对象引用是否相同,即内存地址是否相同。因此对于本题中s1==s2的判断结果为false。"nowcoder"是一个字面量,被存储在与s1引用地址不同的内存空间中,因此s1==nowcoder的判断结果为false。综上,本题结果为选项A: false false。
发表于 2022-01-13 10:27:55 回复(2)
is才对
发表于 2023-09-03 15:02:29 回复(0)