我有三个类客户、商店和物品
我正在使用"LinkedList"来移动类。
项目类别
public class Item {
public Item(String code, String name) {
this.code = code;
this.name = name;
}
@Override
public String toString() {
return name + " : " + code;
}
}
商店级
public class Store {
private LinkedList<Item> items = new LinkedList<Item>();
public Store(String name, String number) {
this.name = name;
this.number = number;
}
public void addItem(String code, String name){
items.add(new Item(this, code, name);
}
public LinkedList<Item> viewItem(){
for(int j = 0 ; j < items.size(); j++)
System.out.println(items.get(j))
return null; // I though return null you just return nothing. But it literally return null;
}
}
客户
public class Customer {
private LinkedList<Store> stores = new LinkedList<Store>();
public Customer() {
stores.add(new Store("Game", "1"));
stores.add(new Store("Grocery", "2"));
stores.get(0).addItem("001A", "GTA");
stores.get(0).addItem("001B", "GOD OF WARS");
stores.get(0).addItem("001C", "THE LAST OF US");
stores.get(1).addItem("002A", "Sandwich");
stores.get(1).addItem("002B", "Cup Noodle");
stores.get(1).addItem("002C", "Ice Cream");
}
public static void main(String args[]) {
new Customer().view();
}
public void view() {
System.out.println(stores.get(0).viewItem());
}
}
我只想退回
GTA : 001A
GODS OF WARS : 001B
THE LAST OF US: 001C
但相反,它也返回"null"我该如何消除它。
我尝试只使用"活动",但它只返回一个。
我无法删除LinkedList,因为它必须返回一系列视频游戏。
有人能给我解释一下吗,谢谢。
在函数Customer.view
中,打印出函数Store.viewItem
的结果。因为viewItem
函数返回null
,所以print语句将打印null
。
只需删除打印声明,你就可以得到你想要的:
public void view(){
stores.get(0).viewItem();
}
查看此
public LinkedList<Item> viewItem() {
for(int j = 0 ; j < items.size(); j++)
System.out.println(items.get(i))
return null;
}
更确切地说,这个System.out.println(items.get(i))
是什么i
?您的变量循环称为j
那么return null
显式地是一种糟糕的做法。
更好的方法:
public LinkedList<Item> items() {
return new LinkedList(items);
}
然后
public void view() {
stores.get(0).items().forEach(System.out::println);
}