public class WrapperTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int aa = sc.nextInt(); String bb = sc.next(); int c = sc.nextInt(); String str11 = sc.next(); String str22 = sc.next(); // 包装类中“==”与equals的用法比较 // 值得注意的是,包装类中的equals方法和String类一样,都是重写了Object类中的equals方法,因此比较的是内容而不是地址, // 而“==”比较的依然是引用变量的地址,只是当包装类型和与之相对应的基本类型进行“==”比较时会先做自动拆箱处理。 /********* Begin *********/ if(aa==bb) System.out.println("true"); else System.out.println("false"); if(aa==c) System.out.println("true"); else System.out.println("false"); if(bb==c) System.out.println("true"); else System.out.println("false"); if(aa.equals(bb)) System.out.println("true"); else System.out.println("false"); if(str11==str22) System.out.println("true"); else System.out.println("false"); if(str11.equals(str22)) System.out.println("true"); else System.out.println("false"); /********* End *********/ } }改正代码
时间: 2024-03-17 22:44:23 浏览: 59
代码中有几个错误,以下是改正后的代码:
```
public class WrapperTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int aa = sc.nextInt();
String bb = sc.next();
int c = sc.nextInt();
String str11 = sc.next();
String str22 = sc.next();
// 包装类中“==”与equals的用法比较
// 值得注意的是,包装类中的equals方法和String类一样,都是重写了Object类中的equals方法,因此比较的是内容而不是地址,
// 而“==”比较的依然是引用变量的地址,只是当包装类型和与之相对应的基本类型进行“==”比较时会先做自动拆箱处理。
/********* Begin *********/
if(aa==Integer.parseInt(bb)) // 需要将字符串转换为int类型再进行比较
System.out.println("true");
else
System.out.println("false");
if(aa==c)
System.out.println("true");
else
System.out.println("false");
if(Integer.parseInt(bb)==c) // 同样需要将字符串转换为int类型再进行比较
System.out.println("true");
else
System.out.println("false");
if(Integer.toString(aa).equals(bb)) // 需要将int类型转换为字符串再进行比较
System.out.println("true");
else
System.out.println("false");
if(str11==str22)
System.out.println("true");
else
System.out.println("false");
if(str11.equals(str22))
System.out.println("true");
else
System.out.println("false");
/********* End *********/
}
}
```
阅读全文