hm.get(r)++这个意思是:hm.get(r)=hm.get(r)+1;
你认为上面成立吗?

解决方案 »

  1.   

    hm.get(r)=hm.get(r)+1;跟这个有什么关系?
      

  2.   


    hm.get(r)=hm.get(r)+1;跟这个有什么关系?i++相当于i=i+1
      

  3.   

    一个为声明的变量可以直接进行++操作?
    hm.get(r)只是一个值,连声明都没有,如何编译通过?
      

  4.   

    哦~~~了然了,确实有问题,感谢~~
    还想顺便问一下,对于外覆类Integer,书上说只能给它赋初值,之后不能修改。那么这里kk ++是怎么实现的呢?会不会是重新new了一个Integer,然后让kk指向了这个新的对象呢?
      

  5.   

    哦~~~了然了,确实有问题,感谢~~
    还想顺便问一下,对于外覆类Integer,书上说只能给它赋初值,之后不能修改。那么这里kk ++是怎么实现的呢?会不会是重新new了一个Integer,然后让kk指向了这个新的对象呢?Interger类型的变量,++自然能编译通过吧~话说你这个程序运行会报错的~
      

  6.   

    哦~~~了然了,确实有问题,感谢~~
    还想顺便问一下,对于外覆类Integer,书上说只能给它赋初值,之后不能修改。那么这里kk ++是怎么实现的呢?会不会是重新new了一个Integer,然后让kk指向了这个新的对象呢?测试了下,目测是指向不同对象的~k++之后的k值和get(r)不同~
      

  7.   

    哦~~~了然了,确实有问题,感谢~~
    还想顺便问一下,对于外覆类Integer,书上说只能给它赋初值,之后不能修改。那么这里kk ++是怎么实现的呢?会不会是重新new了一个Integer,然后让kk指向了这个新的对象呢?测试了下,目测是指向不同对象的~k++之后的k值和get(r)不同~谢啦,确实是这样,在另外一个帖子里看到的:“j和i指向的根本就不是同一块内存,Integer j = i;表示用i的值去构造j,而不是生命了另一个引用,包装器类跟普通的类在这点上是有本质区别的。”