当我尝试:
LinkedList<String> stringList = new LinkedList<String>();
我得到了以下编译错误:
type LinkedList does not take parameters
我错过了什么? 你不能这样做吗?
当我尝试:
LinkedList<String> stringList = new LinkedList<String>();
我得到了以下编译错误:
type LinkedList does not take parameters
我错过了什么? 你不能这样做吗?
LinkedList
的类存在于同一目录中。(特别是因为“linked list”是一个常见术语,初学者经常尝试实现它。) 如果您使用类似于import java.util.*;
这样的方式导入类,则此事很重要,因为*
按需导入,因此如果包中已有同名类,则使用该类而不会导入java.util.LinkedList
。你可能正在使用JDK 1.4或更早版本进行编译,或者你的构建或IDE中语言设置是预先设置为不支持泛型的5.0以下版本。
顺便说一句,最好的方法是
List<String> stringList = new LinkedList<String>();
尽可能使用接口而非实现。
话虽如此,假设您正在编译JDK 5.0+,将语言设置为Java 5+并且这是一个java.util.LinkedList,则您的代码完全有效。
List<String> stringList = Lists.newLinkedList();
- ChssPly76不要将类名命名为class LinkedList
,相反你可以将其命名为class LinkedListDemo
,其余声明LinkedList<String> t = new LinkedList<String>();
应该保留,并且可以完美编译。
输入类似于这样的内容:
import java.util.LinkedList;
class LinkedListDemo {
public static void main(String[] args) {
LinkedList <String> list=new LinkedList <String> ();
}}
你使用了 import java.util.*;
如果你使用 import java.util.LinkedList;
,你将不会遇到任何问题。