这是一个按钮的点击查询 事件
btn_find.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!jt_search.getText().equals("")) {
goodList = goodBiz.querryGoodByName(jt_search.getText().trim());
List<Good> list = new ArrayList<Good>();
if (goodList == null) {
JOptionPane.showInternalMessageDialog(
DataDisplayView.this, "没有所查找的姓名");
return;
}
list.addAll(goodList);
for (Good g : list) {
if (!g.getUsertype().trim()
.equals(user.getUsertype().trim())) {
goodList.remove(g);
}
}
if (goodList.size() == 0) {
JOptionPane.showInternalMessageDialog(
DataDisplayView.this, "没有所查找的姓名");
return;
}
refreshTable(goodList);
}
}
});
发现List容器 的 if (goodList == null) if (goodList.size() == 0) 是不同的
在我的代码里 goodList 里放了 由数据库中 查出的 Good 类的对象
通过另一个list 删除goodList符合条件的 Good的对象
list.addAll(goodList);
for (Good g : list) {
if (!g.getUsertype().trim()
.equals(user.getUsertype().trim())) {
goodList.remove(g);
}
}
一但goodList 中的 good对象 恰好被条件判断全部删除 此时 goodList 已被创建 不为 null ,if (goodList == null) 条件无效
只能使用if (goodList.size() == 0) 判断goodList 之中的大小 来控制 条件语句的进入,弹出提示。
因为goodList之中原本是查到了数据的 但经过之后的判断 数据才会被筛选全部移除了 所以 此时 判断goodList 是否为null 已不行