Integer.toString() 和 Integer.parseInt() 的区别

3
第一个条件为false,第二个条件为true。我原以为它们都是true。
System.out.println(Integer.toString(3) == "3");
System.out.println(Integer.parseInt("3") == 3);

2
不要像 String== 一样比较引用类型。System.out.println(Integer.toString(3).equals("3")); - Elliott Frisch
1个回答

5

Integer.parseInt将字符串转换为原始整数,原始类型可以使用==进行比较。然而,Integer.toString会生成一个String对象,而用于对象的==检查它们是否是完全相同的引用;因此应该使用String#equals来比较字符串的值。

System.out.println(Integer.toString(3).equals("3"));
System.out.println(Integer.parseInt("3") == 3);

上面的代码输出如下:

true
true

1
参考文献!需要习惯使用它。 - stuski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接