【发布时间】:2015-02-20 05:19:00
【问题描述】:
我正在调用方法以根据传递的文本获取数据,该文本将 ping 到数据库。
所以我想检查是否有数据到达对象。
代码:
Method m = service.getMethodDataByFilter(text);
我试过了:
if(m == null){
System.out.println("In NULL");
}
但它没有进入它。
我也试过了:
if(m.getName().isEmpty()){
System.out.println("In NULL");
}
然后它抛出NPE,因为没有收到数据。
那么如何检查对象内部是否有数据呢?
方法类:
public class Method {
private Integer id;
private String name;
// getter-setter
}
更新
试试Ruchira
if(m== null){
System.out.println("m is null");
}else if(m.getName()==null){
System.out.println("m.getName() is null");
}else if(m.getName().isEmpty()){
System.out.println("m.getName() is empty");
}
仍然抛出相同的NPE。
完整方法代码:
public MethodDTO getMethod(String text){
Method m = service.getMethod(text);
if(m == null){
System.out.println("m is null");
}else if(m.getName()==null){
System.out.println("m.getName() is null");
}else if(m.getName().isEmpty()){
System.out.println("m.getName() is empty");
}
ModelMapper mapper = ModelMap.methodMapper();
return mapper.map(m, MethodDTO.class);
}
【问题讨论】:
-
请出示
getMethodDataByFilter的代码 -
因为
m不是null但m.getName()是null -
请显示引发空指针异常的代码
-
发布你的完整代码..和你得到的完整堆栈跟踪......异常是其他地方。
-
我认为你的服务是空的。这就是它抛出空指针的原因