繁体   English   中英

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

[英]Type mismatch: cannot convert from ArrayList to List

我只有这个,但我的编译器说:类型不匹配:无法从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();


    }
}

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

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

将导入行更改为

import java.util.List;

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

java.util.List list = new ArrayList();

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

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

List<T> list = new ArrayList<T>();

希望这可以帮助!

您需要导入java.util.List而不是java.awt.List

您可能还想使用类型参数而不是原始类型。 例如,如果列表将保存String值:

List<String> list = new ArrayList<>();

或者,在Java 7之前:

List<String> list = new ArrayList<String>();

因为java.util.ArrayList扩展了java.util.List ,而不是java.awt.List 您导入错误的类:

import java.awt.List;

import java.util.List;

正如其他人所说,它导致导入错误。 由于您正在使用Eclipse EDE,如果出现错误,请将光标保持在该位置并按Ctrl + 1 ,它将显示可能有助于您修复错误的建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM