Java me JavaMeArrayList-Vector-定义对象类型并通过Vector访问对象方法

Java me JavaMeArrayList-Vector-定义对象类型并通过Vector访问对象方法,java-me,vector,Java Me,Vector,我正在制作一个购物清单移动应用程序(JavaME),我有两个类;项目,列表 item对象允许获取/设置名称和数量(string itemName,int quantity) 现在我需要在我的list类中存储一个项目数组,并且能够从对象的list数组索引访问对象的方法,如下所示;下面的代码是伪代码 项目[]项目列表=新项目[] 对于(int x=0;x

我正在制作一个购物清单移动应用程序(JavaME),我有两个类;项目,列表

item对象允许获取/设置名称和数量(string itemName,int quantity)

现在我需要在我的list类中存储一个项目数组,并且能够从对象的list数组索引访问对象的方法,如下所示;下面的代码是伪代码

项目[]项目列表=新项目[]
对于(int x=0;x
我在谷歌上搜索了很多,发现你可以使用向量,但我似乎无法调用对象的方法。我哪里做错了

我在C#中做过类似的事情,我使用了ArrayList,但是Java ME不支持这些

现行代码

Vector itemList=new Vector();

对于(int x=0;x,由于不能使用泛型,因此必须强制转换,以便Java知道从向量中得到了什么。请注意,Vector.elementAt()返回对象?您所能做的就是将其视为对象:

item myItem = itemList.elementAt(n);
失败,因为java无法自动转换为更特定的类。您必须使用:

Object myItem = itemList.elementAt(n);
这对你来说是无用的,因为你想要的是一件物品,而不是一件物品

必须将其强制转换为所需类型的对象:

for(...)
{
    item myItem = (item) itemList.elementAt(n);
    myItem.method();
}

从那时起,您只需使用myItem。

请记住,我使用的是Java Micro Edition。我遇到了一个错误:在-source1.3类型中不支持泛型Java.util.vector不使用参数使用强制转换…我想我可能是语法错误了--我会编辑它以确保它。getItem在Micro Edition中不存在,我尝试了elementAt(x)但是这不喜欢它。元素可以工作。检查我的新语法。我把它弄混了。我认为它可以工作,但是我刚刚在netbeans中重构了它,它把所有的item标记和新的类名都弄混了:哦,天哪!谢谢,我想你的方法行得通,我会在解决这个愚蠢的问题后再报告:)
Object myItem = itemList.elementAt(n);
for(...)
{
    item myItem = (item) itemList.elementAt(n);
    myItem.method();
}