如何从矢量中取出一个对象,因为它是原始类?

时间:2013-12-08 16:56:28

标签: java object vector

在我的程序中,我有一个名为Circles的类和一个名为CircleList的类,它是Circles的矢量。

我可以在列表中添加和删除Circles,但是当我尝试使用列表中的圆圈时,就像这样。

Circle test = CircleList.elementAt(0);

它失败了,因为预期Circle会找到一个对象。无论如何,我可以解决这个问题,因此它可以作为一个圆而不是一个对象从矢量中传出来吗?

这是带有构造函数

的CircleList类的开头
import java.util.Vector;
public class CircleList
{
    private Vector CircleList;

    public CircleList()
    {
    CircleList = new Vector();
    }

2 个答案:

答案 0 :(得分:4)

尝试这样

public class CircleList {
    private Vector<Circle> circleList;

    public CircleList() {
        circleList = new Vector<Circle>();
    }

如果你这样做,编译器知道你只会使用circleList来存储Circle个对象,而不是其他类型的对象,因此可以让你引用任何出来的东西具有circleList变量的Circle

您也可以考虑使用ArrayList代替VectorVector类执行一些您几乎肯定不需要的额外同步。有关此特定同步类型的更多详细信息以及您不希望它的原因,我建议您阅读Jon Skeet对Why is Java Vector class considered obsolete or deprecated?的回答

答案 1 :(得分:0)

当您定义向量时,问题就出现了。

请分享插入代码。

然而,首先尝试使用下面的代码片段将元素插入到vector中。

 Vector<Circle> CircleList = new Vector<Circle>(50); 
 CircleList.add(circle1);
 CircleList.add(circle2);
 ........................

然后检索元素。

Circle test = CircleList.elementAt(0);