想请教一下这里,这两行代码和直接给Integer对象赋值(Integer score=new Integer(86);)有什么区别呢?
另外,如图2,为什么我改变了score1的值后,score2的值没有变呢?
图一的问题:int等是基本类型,Integer是其包类,在一般的赋值情况下差不多,但是有时候用到一些特定的情况只能用后者 也就是包类,不能用基本类
图二的问题:代码本身没错,但是代码的顺序搞错了,你是先定义一个 score1=86,然后把score1的值赋给score2,所以score2的值是第一个score1的值,不是你后面又给score1赋值的那个值,还有 你输出的是score2,不是score1,当然看不出来score1的值变没变