处理警告的适当方法是什么:“x的表达式被装入x”

时间:2014-04-27 00:00:37

标签: java eclipse autoboxing

希望关闭或忽略The expression of type x is boxed into X?中的警告。

我想知道如果有人这么倾向,处理/避免这种警告的正确方法是什么。

2 个答案:

答案 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()