如何检查一个列表是否为空?如果是空的,系统必须给出一个消息,显示列表为空。如果不是空的,系统必须给出一个消息,显示列表不为空。
用户可以输入数字-1
来停止程序。
这是我现在拥有的代码,但它不起作用,它总是显示“列表不为空”。
import java.util.*;
import javax.swing.JOptionPane;
public class ArrayListEmpty
{
public static void main(String[] args)
{
List<Integer> numbers = new ArrayList<Integer>();
int number;
do {
number = Integer.parseInt(JOptionPane.showInputDialog("Enter a number (-1 to stop)"));
numbers.add(number);
} while (number != -1);
giveList(numbers);
}
public static void giveList(List<Integer> numbers)
{
if (numbers != null)
JOptionPane.showMessageDialog(null, "List isn't empty");
else
JOptionPane.showMessageDialog(null, "List is empty!");
}
}
null
和空列表并不是同一回事。 - SLaksnull
的含义,这是一个更大的问题。 - Brian Roachnumbers.add(number);
替换为if (number != -1) numbers.add(number);
这样可以防止将 -1 插入列表中,如果用户输入的第一项是 -1,则在调用giveList
时列表将为空。 - jonhopkins