[英]My isEmpty method isn’t working and I'm not sure why
我只是想檢查 ArrayList 是否為空,所以我查看了 java 庫,發現 java 中有一個 isEmpty 方法,但我的代碼不會在這里編譯。 一直說找不到方法。 我沒有在我的代碼中定義該方法,但我認為我不必這樣做,因為它是 java 定義的方法,並且我已經導入了 java.util.ArrayList。 如果不再使用此方法,是否還有其他方法可以檢查 ArrayList 是否為空?
else if((userChoice.equals("S")) || (userChoice.equals("s"))){
boolean empty = this.cat.isEmpty();
if (empty == true){
System.out.println("there is nothing i this catalog");
}
else{
this.cat.printList();
}
}
這是我打電話給它的貓
this.name = name;
this.cat = new Catalog();
//CREATE ARRAYLIST HERE
cat.addItem(new Music(1111,"White and Nerdy",2.50,"\"Weird Al\" Yankovic"));
cat.addItem(new Music(2222,"Amish Paradise",2.22,"\"Weird Al\" Yankovic"));
cat.addItem(new Music(3333,"The Saga Begins",2.00,"\"Weird Al\" Yankovic"));
cat.addItem(new Movie(4444,"UHF",9.99,"\"Weird Al\" Yankovic"));
cat.addItem(new Movie(5555,"The Dark Crystal",8.99,"\"Jim Henson"));
cat.addItem(new Movie(6666,"Die Hard",13.99,"Bruce Willis"));
cat.addItem(new Book(7777,"When I Grow Up",7.98,"\"Weird Al\" Yankovic"));
cat.addItem(new Book(8888,"The Chronicles of Pern: First Fall",5.99,"\"Anne McCaffrey"));
cat.addItem(new Book(9999,"Get gud you scrub",2.50,"Steve \"Troll\" Rathier"));
編輯:這是我的目錄 class 的構造函數
public Catalog()
{
//makes empty arraylist
// initialise instance variables
items = new ArrayList<>(MAX);
size = 0;
}
有一個簡單的方法:
public class MyClass {
List<Object> myObjects;
Object[] myArrayObjects;
void myMethod() {
if (myArrayObjects == null || myArrayObjects.length == 0) {
//Array is empty
} else {
//Array has some data
}
if (myObjects == null || myObjects.size() == 0) {
//List is empty
} else {
//List has some data
}
}
}
我認為另一個更好的解決方案是這樣的
public class Catalog {
List<Object> items;
public Catalog() {
items = new ArrayList<>();
}
public void addItem(Object object) {
items.add(object);
}
public boolean isEmpty() {
return items.isEmpty();
}
public int size() {
return items.size();
}
}
class 的用法是這樣的
public class MyClass {
Catalog catalog;
public MyClass() {
this.catalog = new Catalog();
}
void printCatalog() {
if (catalog.isEmpty()) {
//catalog is empty
} else {
//catalog has some data you can print them
}
}
void addItems(Object object) {
catalog.addItem(object);
}
}
java.util.ArrayList 也有size()方法。 您可以使用它來檢查列表大小,如果為 0,則您的列表為空。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.