链表 - 将多个链表从一个类传递到另一个类 - Java



我有2个LinkedLists,我想通过一个对象传递给另一个类。我尝试了这个代码,但我得到错误:java.lang。ClassCastException: [D不能强制转换为java.util.LinkedList.

第一课:

public class class1{
public Object[] method1(LinkedList<Point> xList,LinkedList<Point> yList){
xList.add(new Point(10,10));
yList.add(new Point(20,10));
return new Object[]{xList, yList};
}
}

二级:

public class class2{
public void method2(){
LinkedList<Point> xPoints = new LinkedList<Point>();
LinkedList<Point> yPoints = new LinkedList<Point>();
xPoints.add(new Point(20,40));
yPoints.add(new Point(15,15));
class1 get = new class1();
Object getObj[] = get.method1(xPoints,yPoints);
xPoints = (LinkedList<Point>) getObj[0];
yPoints = (LinkedList<Point>) getObj[1];
}

同时,eclipse建议在method1和method2之外写这个"@SuppressWarnings("unchecked")"

当前你的代码不能正确编译,因为你不能写

xPoints.add(20,40);

你应该使用

xPoints.add(new Point(20,40));

在四个地方修复了这个问题后,它编译并正常运行,没有报告ClassCastException。

请注意,由于您的method1修改了由parameter提供的列表,您根本不应该返回它。只使用:

public void method1(LinkedList<Point> xList, LinkedList<Point> yList) {
    xList.add(new Point(10, 10));
    yList.add(new Point(20, 10));
}
public void method2() {
    LinkedList<Point> xPoints = new LinkedList<Point>();
    LinkedList<Point> yPoints = new LinkedList<Point>();
    xPoints.add(new Point(20, 40));
    yPoints.add(new Point(15, 15));
    class1 get = new class1();
    get.method1(xPoints, yPoints);
    // use xPoints and yPoints here: new point is already added
}

相关内容

  • 没有找到相关文章

最新更新