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

2022-09-04 01:46:31

我不想关闭或忽略警告,如类型x的表达式被框入X?

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


答案 1

装箱和拆箱是你可以手动完成的操作,但它们内置于语言中,以避免你无疑会遇到的重复。

Integer obj = Integer.valueOf(5); // instead of Integer obj = 5;
int i = obj.intValue(); // instead of int i = obj;

在我看来,处理该警告的适当方法可以将其关闭。但是,如果这不是一个选项,则可以执行上述操作。


答案 2

在我看来,最好显式地对值进行 box-unbox,因为它使代码更具可读性。此外,当我们使用不同的拳击方法时,也可能存在细微的差异。例如,

Integer i = new Integer(1);

Integer j = Integer.valueOf(1);

根据javadoc缓存对象,所以会返回。Integer.valueOf()i==jfalse

将基元显式框定为整数的另一种方法是

Integer k = (Integer)1;但这实际上调用 .Integer.valueOf()


推荐