面试题:new Integer(112)和Integer.valueOf(112)的区别
面试官考察点猜想
这道题,考察的是对Integer这个对象原理的理解,关于这道题的变体有很多,我们会一一进行分析。
理解这道题,对于实际开发过程中防止出现意想不到的Bug很有用,建议大家认真思考和解读。
背景知识详解
关于Integer的实现
Integer是int的一个封装类,它的构造实现如下。
理解了原理后,我们只需要修改Integer temp=a
这段代码,改成下面这种写法。保证temp
变量是一个独立的实例。
Integer temp=new Integer(a);
修改以后运行结果如下
代码语言:javascript复制交换前:a=1,b=2
交换后:a=2,b=1