看看这个小程序 怎么编译通过运行错误

2025-12-16 12:24:48
推荐回答(2个)
回答1:

equals()方法 你少个s
得出的结果两个都是true
原因是 String类中equals方法是比较2个字符串值是否相同 显然相同
在JAVA虚拟机的堆中存在一个池 是专门放直接赋值的字符串的
在直接复制时先在堆中找是否有该字符串如果没有就创建一个如果
有就直接把引用指向它 你的代码是2个引用都是直接赋值的所以
第2个会指向池中第一个赋值时创建的字符串 2个引用指向的是
同样同一个对象所以用“==”判断时返回的是true。

回答2:

class TEST
{

public static void main( String args[]) throws Exception
{

String str1="abc";
String str2="abc";
System.out.print(str1.equals(str2));
System.out.print(str1==str2);

}
现在可以运行了~