[英]2D array returning incompatible types using Iterator Pattern
我正在尝试构建一个二维数组。 持有食物,具有价值。 我知道我做错了什么,有人能看到吗?
public class FoodMenu implements Menu {
static final int MAX_ITEMS = 6;
int numberOfItems = 0;
String[][] foodItems;
public FoodMenu() {
foodItems = new String[MAX_ITEMS][];
addItem("Vegetarian BLT","Test");
addItem("BLT","Test");
addItem("Soup of the day","Test");
}
public FoodMenuIterator(String[][] items) {
this.items = items;
}
public void addItem(String name, String value) {
if (numberOfItems >= MAX_ITEMS) {
System.err.println("Sorry, menu is full! Can't add item to menu");
}
else {
foodItems[numberOfItems][3] = name;
numberOfItems = numberOfItems + 1;
}
}
@Override
public boolean hasNext() {
if (position >= items.length || items[position] == null) {
return false;
} else {
return true;
}
}
@Override
public Object next() {
String menuItem = items[position]; ---**//The issue is here**---
position = position + 1;
return menuItem;
}
问题在评论行的上方。 错误出现为不兼容的类型:String[] 无法转换为 String。 我的目标是在二维数组中添加食物类型和值作为字符串。
我该如何解决这个错误? 我试过给“String menuItem = items[position][]; etc 没有解决方案。” 有任何想法吗?
你想继承java的默认迭代器,否则你不会覆盖任何东西。 编译器认为 position 是一个局部变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.