我想初始化一个String变量,然后使用
为它赋值if (){} else if(){}
这就是我所做的:
String roleName;
// A and B are string constants
if (userRoleslist.contains(A)) {
roleName = A;
} else if (userRoleslist.contains(B)) {
roleName = B;
}
if (!roleName.equals(null)) {
audit.info("User: " + userName + " successfully authorized as " +
roleName + " to perform JMX operations.");
return roleName;
} else {
String msg = "User: " + userName + " not authorized to perform JMX operations.";
log.error(msg);
throw new NullPointerException();
}
问题是错误未记录到控制台。只抛出NullPointerException并指向
行(!roleName.equals(null)) {
另外,我还可以省去NullPointerException和log.error吗?
答案 0 :(得分:4)
if (!roleName.equals(null)) {
必须是
if (roleName != null) {
当你进行空检查时,你应该这样做。 由于roleName为null,因此在其上调用方法将为您提供空指针异常。
答案 1 :(得分:2)
roleName.equals(null)将为您提供nullpointer异常,而不是使用roleName!= null。