空指针异常,JAVA是面向对象编程,对象必须要有对应的地址
出现这种情况,肯定是你初始化变量为null,最后没有赋值或者实例化!导致变量没有对应的地址
List<CommentDTO> comments = commentService.list(id);
我遇到空指针异常的情况是:返回list的方法中,查询数据库为空,导致没有数据返回,list最后返回的是null,需要在最后判断list.size>0
if(commentDTOs.size()>0){
return commentDTOs;
}else{
return new ArrayList<>();
}
第二次遇到空指针异常的情况
CommentDTO commentDTO = null;
for (Comment comment : comments) {
commentDTO = new CommentDTO(); //commentDTO=comment+user
...
}
commentDTO.setCommentCount(count);
我初始化了commentDTO 为null,但是因为数据库没有数据,导致跳过了for循环,也跳过了循环里面的实例化,所以commentDTO到最后还是null,这时候在循环后加入判断commentDTO是否为null 即可
if(commentDTO==null){
commentDTO = new CommentDTO();
}