当我尝试:
LinkedList<String> stringList = new LinkedList<String>();
我收到以下编译错误:
type LinkedList does not take parameters
我错过了什么?你不能这样做吗?
答案 0 :(得分:26)
检查以确保在同一目录中没有名为LinkedList
的已编译类。 (特别是因为“链表”是一个常用术语,人们经常尝试将其作为初学者实现。)如果您使用import java.util.*;
之类的内容导入类,这一点很重要,因为*
按需导入,因此如果包中已存在具有相同名称的类,则使用该类,并且不导入java.util.LinkedList
。
答案 1 :(得分:11)
您是否可能针对JDK 1.4或更早版本进行编译?或者您的构建或IDE中的语言设置是否设置为5.0之前(所以没有泛型支持)?
顺便说一句,最好的方法是
List<String> stringList = new LinkedList<String>();
尽可能使用界面而不是实现。
话虽如此,假设您正在编译JDK 5.0+,请将您的语言设置设置为Java 5+并且这是一个java.util.LinkedList,那么您的代码完全有效。
答案 2 :(得分:1)
不要将类名作为class LinkedList
,而是可以使用class LinkedListDemo
,其余的声明LinkedList<String> t = new LinkedList<String>();
应该在那里,它将完美编译。
答案 3 :(得分:1)
我有同样的问题,我发现我错误地使用了: import java.awt.List; 并收到以下错误消息: &#34;类型列表没有采用参数#34;
改为使用
import java.util.List;
答案 4 :(得分:0)
您已使用import java.util.*;
如果使用import java.util.LinkedList;