Java 将链接列表转换为arraylist

Java 将链接列表转换为arraylist,java,arraylist,linked-list,Java,Arraylist,Linked List,我正在尝试创建一个方法来将链表转换为arraylist public ArrayList<Integer> toList(){ //Node node; Node current = node; while(current != null){ current = current.next; array.add(current.val); } } 我目前正在使用JDK1.7,从我在这个论坛上发现的情况来看,JDK1.7应

我正在尝试创建一个方法来将链表转换为arraylist

public ArrayList<Integer> toList(){
    //Node node;
    Node current = node;
    while(current != null){
        current = current.next;
        array.add(current.val);
    }
}

我目前正在使用JDK1.7,从我在这个论坛上发现的情况来看,JDK1.7应该很适合这个问题。会出现什么问题?

node.val的类型为Object,而add需要一个整数。将node.val类型更改为Integer或使其成为泛型,将值强制转换为整数,或将ArrayList更改为ArrayList

node.val的类型为Object,而add需要整数。将node.val类型更改为Integer或使其成为泛型,将值强制转换为整数,或将ArrayList更改为ArrayList

current.val类型为Object,而add方法需要整数。您需要强制转换,或者需要使用泛型键入节点,以确保Node.val是整数。

current.val被键入为对象,而add方法需要整数。您需要强制转换,或者需要使用泛型键入节点,以确保Node.val是整数。

我假设Node指的是linkedlist的头部。与您的问题没有直接关系,但您的迭代是错误的。首先迭代current,然后获取它的值。所以您丢失了第一个元素的值。您应该首先添加,然后迭代到下一个。

我假设node指的是linkedlist的头部。与您的问题没有直接关系,但您的迭代是错误的。首先迭代current,然后获取它的值。所以您丢失了第一个元素的值。您应该先添加,然后迭代到下一个

no suitable method found for add(Object)
method ArrayList.add(int,Integer) is not applicable
  (actual and formal argument lists differ in length)
method ArrayList.add(Integer) is not applicable
  (actual argument Object cannot be converted to Integer by method invocation conversion)