您好我正在创建一个使用arraylists的应用程序(练习目的不是真正的应用程序) 我已经创建了一个方法,它给出了数学的答案,但前提是arraylist不包含任何对象。出于某种原因,我总是在if / else构造中看到else。
以下是检查数组列表是否包含对象的方法
public void sluitRegistratie() {
aantalBezoekers = bezoeker.size();
if(!(aantalBezoekers >= 0)) {
String str = "Gemiddelde tijd bezoekers: " + (gesommeerdeTijd / aantalBezoekers);
JOptionPane.showMessageDialog(null, str);
}
else {
JOptionPane.showMessageDialog(null, "Bezoekers zijn nog niet weg");
}
}
答案 0 :(得分:9)
ArrayList有一个isEmpty()
方法,如果arraylist为空,将返回true
,否则为false
。所以看起来你想要if(bezoeker.isEmpty())...
答案 1 :(得分:3)
ArrayList的大小永远不会是负数,因此您对!size()> = 0的检查永远不会成立。只需检查size()== 0。
答案 2 :(得分:3)
if(!(aantalBezoekers >= 0))
与:
相同if(aantalBezoekers < 0)
换句话说,当长度小于零时,但这不可能发生。
答案 3 :(得分:1)
ArrayList
至少可以包含0个元素,因此!(aantalBezoekers >= 0)
始终为false
,并且您将始终位于else
部分。
答案 4 :(得分:1)
if(!(aantalBezoekers >= 0)) {
基本上意味着只有当 aantalBezoekers 不大于零时才执行。
如果您想检查您的列表是否为零,请使用以下内容:
if(bezoeker.size()>0){
System.out.pritnln("bezoeker is greater than zero " + bezoeker..size());
}
else {
System.out.pritnln("Mahn, my bezoeker is Empty " + bezoeker..size());
}
你也可以简单地使用ArrayList.isEmpty()方法检查一个arraylist是否为空。
if(bezoeker.isEmpty()) {
答案 5 :(得分:0)
那是因为
!(aantalBezoekers >= 0)
表示
not greater than or equal to zero
相当于
less than zero
永远不会发生。