java - 为什么 IntelliJ IDEA 给出异常建议?

标签 java intellij-idea exception nullpointerexception

public static List<String> arithmeticProblemToList(**String arithmeticProblem**, boolean resultIsRight,
                                                   double rightResult,
                                                   List<String> previousArithmeticProblemsList) throws Exception {

    Check.checkNotNull(arithmeticProblem);
    Check.checkNotNull(resultIsRight);

    if (resultIsRight)
        previousArithmeticProblemsList.add(arithmeticProblem + "\t\tRICHTIG");
    else {
        previousArithmeticProblemsList.add(arithmeticProblem + "\t\tFALSCH " + rightResult + " wäre richtig");
    }

    return previousArithmeticProblemsList;
}

public static <T> void checkNotNull(T object) throws IllegalArgumentException {

    if (object == null) {
        throw new IllegalArgumentException("Der Parameter darf nicht null sein.");
    }
}

为什么 IntelliJ 给我一个建议,如果字符串 arithmeticProblem 为 null,我将得到一个异常,例如,如果 resultIsRight 则没有建议。

最佳答案

在 Java 中,有两种不同类型的数据类型:基元和引用。

boolean 值是一种原语,无论如何都不能为空。它要么为真,要么为假,但决不为空。

然而,字符串是引用类型,引用可以为空。

在此处了解有关原语的更多信息:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

关于java - 为什么 IntelliJ IDEA 给出异常建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44574827/

相关文章:

java - 一个真正捕获所有的java异常

java - 在方法中返回另一个类的方法。导致 java.lang.NullPointerException

java: OutOfMemoryError: 在 Idea 中运行 JUnits 时内存不足

java - 在 Windows 命令行上运行在 IntelliJ 中创建的 Java 程序

.net - 什么时候是抛出 InvalidOperationException 的好时机?

c# - 程序在启动后几乎立即崩溃

java - @OneToMany 实际上是带有参数的 OneToOne/@Formula

java - 为桌面应用程序选择语言

android - 如何使用 Intellij IDE(最好是 Android Studio)导航/查看/编辑 android 平台源代码(AOSP)?

java.lang.ClassCastException : java. lang.String 无法转换为 java.util.Map