Java的常见的坑(一)
public class ProducerKafka {
public static void main(String[] args) {
Integer a=1;
chg(a);
Integer b=chg(a);
chg(b);
System.out.println(b);
System.out.println(a);
}
public static Integer chg(Integer a){
a=a+1;
return a;
}
}
输入结果:
2
1
知识点:
参考链接:
https://blog.csdn.net/a329661511/article/details/78474763
https://blog.csdn.net/SICAUliuy/article/details/88554649
分析:
注意点:
在Integer源码中,int值是final修饰的,不可以改变。
class Integer{
final int value; //一旦赋值,就不能改变。
}
因此Integer每次赋值都是被赋予新的对象,所以作为引用传入后,又会换成其他的引用。