Java Integer.toString()与Integer.parseInt()的比较

Java Integer.toString()与Integer.parseInt()的比较,java,Java,为什么第一个条件是false,第二个条件是true?我确信他们都是真的 System.out.println(Integer.toString(3) == "3"); System.out.println(Integer.parseInt("3") == 3); Integer.parseInt将字符串转换为基元int,基元可以与=进行比较。但是,Integer.toString生成一个字符串对象,对象的=检查它们是否是完全相同的引用;而是使用来比较字符

为什么第一个条件是
false
,第二个条件是
true
?我确信他们都是真的

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

Integer.parseInt
将字符串转换为基元int,基元可以与
=
进行比较。但是,
Integer.toString
生成一个
字符串
对象,对象的
=
检查它们是否是完全相同的引用;而是使用来比较字符串的值

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

true
true

不要将
String
之类的引用类型与
=
进行比较
System.out.println(Integer.toString(3).equals(“3”)参考!你需要习惯它