【发布时间】:2016-01-13 20:35:21
【问题描述】:
我有一个嵌套的 ArrayList
ArrayList<ArrayList<MenuItem>> MenuList = ArrayList<ArrayList<MenuItem>>()
MenuItem 是包含项目名称和任务(int)的类。我正在使用几个按钮来遍历我的菜单,当我按下“enter”键时,我想访问当前选定的 MenuItem。
代码如下;
// enter button pressed
if(buttonStateEnter != lastButtonStateEnter){
// changes
// get current menu
ArrayList currentMenuList = MenuList.get(currentMenu);
// get menuItem obj
Object test = currentMenuList.get(0);
System.out.println(test.getClass());
// get the task (int)
//int changeTask = subNest.getTask();
lastButtonStateEnter = buttonStateEnter;
redraw = true;
}
我想创建 MenuItem 测试而不是 Object 测试,因为我无法以这种方式访问我的方法。 test.getClass() 返回类 MenuItem。将 MenuItem 测试放入代码编译会报错
java.lang.Object cannot be converted to MenuItem
【问题讨论】:
-
将您的列表类型转换为实际类型
-
好吧,您确实将
MenuList#get保存为原始类型,它基本上只适用于Object。你不应该那样做,而是使用泛型 -
什么是菜单列表?
-
MenuList 是我的菜单(包含多个菜单)抱歉,已编辑
标签: java class object arraylist nested