sonar编码规范之Use "Integer.parseInt" for this string-to-int conversion

2022-03-28 14:12:24 浏览数 (1)

在将字符串转换为整形时sonar推荐的是Integer.parseInt,而不是Integer.valueOf,原因是前者效率更高。进入Integer.valueOf内部就知道了:

代码语言:javascript复制
    public static Integer valueOf(String s) throws NumberFormatException {
         return Integer.valueOf(parseInt(s, 10));
     }
 
    public static Integer valueOf(int i) {
         assert IntegerCache.high >= 127;
         if (i >= IntegerCache.low && i <= IntegerCache.high)
             return IntegerCache.cache[i   (-IntegerCache.low)];
         return new Integer(i);
     }
 

后者会额外创建一个临时Integer对象,尤其在循环中慎用Integer.valueOf,优先选择Integer.parseInt

0 人点赞