Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使检查在将对象强制转换为原语时发出警告,即当方法使用int但向其传递整数时发出警告_Java_Intellij Idea - Fatal编程技术网

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强制转换为整数时高亮显示


我想是这样的。你是说javac警告吗?还是intellij检查?还是一般的静态代码分析工具?intellij Inspections这样我可以注意到当意外传递null时,只需使用Integer生成第二个方法即可处理nullvalues@VladimirVagaytsev这不是这个问题的重复;OP询问IntelliJ中是否有检测此类问题的检查。OP没有询问NullPointerException是什么。不幸的是,此方法仅在提供的整数在本地创建时有效,如果它由另一个方法返回,则检查将其视为a-OK。如果您将另一个方法注释为
@Nullable
,则此方法也将突出显示。
Integer iMightBeNull = null;
doSomething(iMightBeNull);