类型不匹配:无法从ArrayList转换为List

Big*_*ild 11 java

我只有这个,但我的编译器说:类型不匹配:无法从ArrayList转换为List那么有什么问题可以告诉我什么问题?我正在使用Elipse Java EE IDE.

import java.awt.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;


public class Main {
    public static void main(String[] args) {
        List list = new ArrayList();


    }
}
Run Code Online (Sandbox Code Playgroud)

Bet*_*sta 22

不正确的导入,它必须是java.util.List.


tem*_*def 5

您已导入java.awt.List,这是AWT包中的列表控件,而不是java.util.List,它是表示元素列表的集合类.因此,Java认为您正在从逻辑数组值列表转换为小部件,这没有任何意义.

将导入行更改为

import java.util.List;
Run Code Online (Sandbox Code Playgroud)

应该解决这个问题,就像写作一样

java.util.List list = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

明确表明你想要一个集合.

也就是说,你也应该在这里使用泛型.使用原始集合类型一直被弃用.最好的答案是写一些像

List<T> list = new ArrayList<T>();
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!