我 希望关闭或忽略The expression of type x is boxed into X?中的警告。
我想知道如果有人这么倾向,处理/避免这种警告的正确方法是什么。
答案 0 :(得分:11)
装箱和拆箱是您可以手动完成的操作,但它们会构建成语言,以避免您无疑会遇到的重复。
Integer obj = Integer.valueOf(5); // instead of Integer obj = 5;
int i = obj.intValue(); // instead of int i = obj;
在我看来,处理该警告的适当方式将其关闭。但如果这不是一个选项,你可以做到以上几点。
答案 1 :(得分:3)
在我看来,最好明确地将值取消装箱,因为它使代码更具可读性。 当我们使用不同的拳击方法时,也可能存在细微差别。例如,
Integer i = new Integer(1);
Integer j = Integer.valueOf(1);
根据javadoc Integer.valueOf()
缓存对象,i==j
将返回false
。
另一种将基元明确地封装到整数的方法是
Integer k = (Integer)1;
但这实际上会调用Integer.valueOf()
。