Java 如何使检查在将对象强制转换为原语时发出警告,即当方法使用int但向其传递整数时发出警告
好的,标题非常直白,我想在调用方法时得到警告:Java 如何使检查在将对象强制转换为原语时发出警告,即当方法使用int但向其传递整数时发出警告,java,intellij-idea,Java,Intellij Idea,好的,标题非常直白,我想在调用方法时得到警告: private static void doSomething(int i){ //code } 与 这将始终给出一个java.lang.NullPointerException,这是根本原因 但是在java检查中,我发现的唯一一件事是“数值强制转换会降低精度”-不适用,因为它们具有相同的精度,“不必要的数值强制转换”-警告相反,“隐式数值转换”-在将int传递给长方法时发出警告,“过强的类型强制转换”-如果仅当父母已足够时将子对象投射给祖父母,
private static void doSomething(int i){
//code
}
与
这将始终给出一个java.lang.NullPointerException
,这是根本原因
但是在java检查中,我发现的唯一一件事是“数值强制转换会降低精度”-不适用,因为它们具有相同的精度,“不必要的数值强制转换”-警告相反,“隐式数值转换”-在将int传递给长方法时发出警告,“过强的类型强制转换”-如果仅当父母已足够时将子对象投射给祖父母,则发出警告 默认情况下启用的“常量条件和异常”检查报告了一条关于此代码的警告:“取消iMightBeNull的装箱可能会产生“NullPointerException”。我真的不想回答自己的问题,希望给其他人一些战利品,但无需进一步说明: 将整型转换为int(或布尔型转换为布尔型,或长型转换为长型等)时,“自动取消装箱”会突出显示。 关于此主题还有一些其他内容(在另一个类似类型上使用针对某个类型的方法时发出警告):
- “隐式数值转换”在将int转换为long或long转换为int时高亮显示
- “自动装箱”在将int强制转换为整数时高亮显示
@Nullable
,则此方法也将突出显示。
Integer iMightBeNull = null;
doSomething(iMightBeNull);