美文网首页
Integer的那些坑

Integer的那些坑

作者: 一起来看雷阵雨 | 来源:发表于2018-06-23 13:00 被阅读0次

    1.Integer的不变性


    image.png

    每生成一个Integer对象,里面都会包含一个唯一的不变值value。大家都知道java有自动装箱,拆箱机制。
    表面上是:Integer a = 3;
    实际上是: Integer a = Integer.valueOf(3);


    image.png
    而valueOf的每一次返回值都是一个新的Integer对象。
    也就是说,一个Integer一旦生成,里面的值就无法改变,能做的就只有更改对象,这点和String非常类似,所以使用的时候要注意性能问题。
    image.png

    最后输出的结果仍是3;
    i最开始形参i保存的是a的引用,i=i+1后,并不是直接修改i引用的值,而是生成新的对象,并将引用赋给i;
    Integer具有不变性!!!!!!

    image.png

    Integer的值在-128到127之间的时候,引用的是缓存的值,可以提升速度,所以在这个区间内会存在a == b的情况。

    相关文章

      网友评论

          本文标题:Integer的那些坑

          本文链接:https://www.haomeiwen.com/subject/qtpryftx.html