Java 值传递还是引用传递问题记录

发布时间 2023-03-28 23:06:40作者: Minde
int a = 127;
int b = 127;
System.out.println(a == b); // true -> 基本数据类型按值传递

int a1 = 128;
int b1 = 128;
System.out.println(a1 == b1); // true -> 基本数据类型按值传递

Integer A = 127;
Integer B = 127;
System.out.println(A == B); // true -> 包装类型 value值在 -128 ~ 127 之间的数,不会升级为引用传递

Integer A1 = 128;
Integer B1 = 128;
System.out.println(A1 == B1); // false -> 包装类型 value值在 -128 ~ 127 之间的数,不会升级为引用传递


HashMap<Integer,String> map = new HashMap<>();
map.put(128,"我是128");
map.put(128,"他是128");

System.out.println(map.get(128)); // 他是128,并不会出现 我是128,说明Map中的Integer不管数值多少,是按照值传递