在Java中,条件运算符(?:)可以用于简化if-else语句的写法。但是,如果条件运算符的表达式中包含了一个可能为null的对象,就有可能抛出NullPointerException异常。 例如,下面的代码中,如果变量str为null,那么在执行条件运算符时就会抛出NullPointerException异常: String str = null; String result = str != null ? str : "default"; 为了避免这种异常的发生,可以使用if-else语句来代替条件运算符,或者在条件运算符中使用安全调用操作符(?.)来避免空指针异常的发生: String str = null; String result = str != null ? str : "default"; // 抛出NullPointerException异常 // 使用if-else语句代替条件运算符 String result; if (str != null) { result = str; } else { result = "default"; } // 使用安全调用操作符避免空指针异常 String result = str?.toUpperCase() != null ? str.toUpperCase() : "default";