当前位置 博文首页 > 俺叫啥好嘞的博客:Java中new Long()和Long.valueOf()区别

    俺叫啥好嘞的博客:Java中new Long()和Long.valueOf()区别

    作者:[db:作者] 时间:2021-09-14 16:27

    在这里插入图片描述
    如果我们去转化一个字符串为Long对象,使用new Long()和Long.valueOf()都会去调用parseLong()这个方法。从这一步来说,二者没有区别。区别发生在当parseLong()返回一个long基本类型时,使用new Long()方式时,该long值直接赋值给成员变量;当使用Long.valueOf()时,该long值由上面的public static Long valueOf(long I)来处理。从该方法的代码实现细节可以看到,当值在[-128,127]之间时,返回的是缓存中的值。从这一点来说,如果值在[-128,127]之间时,Long.valueOf()要比new Long()更快更节省内存空间。

    在没有特殊要求情况下,尽量的使用Long.valueOf()。

    cs