2

在将它包含在我的代码中并使用 List 获取字符串然后使用它们之前,我正在解决一个问题。我得到了错误:“类型列表不接受参数列表词=新的ArrayList();” 编译后。我搜索了但我使用的语法是正确的,请问代码有什么问题?

import java.util.Scanner;
import java.util.ArrayList;

public class List{
    public static void main(String args[]){
        List<String> words = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        for (int i=0; i < 3; i++)
            words.add(input.nextLine());
        System.out.println(words);
    }

}
4

2 回答 2

11

这是您应该为自己的类使用唯一名称的原因之一。你真的很想使用java.util.List,但由于你也给你的班级打电话List,所以真正的问题被掩盖了。重命名您的课程并添加导入java.util.List以解决问题:

import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;

public class MyClass{
    public static void main(String args[]){
        List<String> words = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        for (int i=0; i < 3; i++)
            words.add(input.nextLine());
        System.out.println(words);
    }
}
于 2013-01-21T18:09:03.017 回答
0

尝试这个:

import java.util.Scanner;
import java.util.ArrayList;

public class List{
    public static void main(String args[]){
        java.util.List<String> words = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        for (int i=0; i < 3; i++)
            words.add(input.nextLine());
        System.out.println(words);
    }

}

您的课程称为 List。因此,默认情况下,假定您声明的 List 引用您的类。

最好为您的课程避免使用 List 之类的名称。

于 2013-01-21T18:11:07.243 回答