好吧,标题很简单,我想在调用方法时被警告:
private static void doSomething(int i){
//code
}
使用
Integer iMightBeNull = null;
doSomething(iMightBeNull);
这将始终给出java.lang.NullPointerException
,这是根本原因。
但是在Java检查中,我唯一发现的只有“数字强制转换会失去精度”-不适用,因为它们具有相同的精度“不必要的数字强制转换”-警告相反,“隐式数值转换”-发出警告将int传递给long方法,即“ Overly strong type cast”(超强类型转换)-如果仅父级就足够将子对象转换为祖父母,则发出警告。
答案 0 :(得分:1)
默认情况下启用的“恒定条件和异常”检查在此代码上报告警告:“对iMightBeNull取消装箱可能会产生'NullPointerException'”。
答案 1 :(得分:0)
我真的不想回答我自己的问题,希望给别人一些战利品,但是事不宜迟:
在将Integer转换为int(或Boolean转换为boolean,或Long转换为long等)时,“自动拆箱”会突出显示
关于该主题的其他内容(当在另一种相似类型上使用针对某种类型的方法时发出警告):
将int转换为long或long转换为int时,“隐式数值转换”突出显示
将int转换为Integer时,“自动装箱”突出显示