有什么问题:LinkedList <String> stringList = new LinkedList <String>();

Eri*_*son 13 java

当我尝试:

LinkedList<String> stringList = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

我收到以下编译错误:

type LinkedList does not take parameters
Run Code Online (Sandbox Code Playgroud)

我错过了什么?你不能这样做吗?

new*_*cct 27

检查以确保您没有LinkedList在同一目录中命名的已编译类.(特别是因为"链表"是一个常用术语,人们经常尝试将其作为初学者来实现.)如果您使用类似的东西导入类,这很重要import java.util.*;,因为*按需导入,所以如果有的话已经在包中具有相同名称的类,然后使用该类并且java.util.LinkedList不导入该类.

  • 或者更好的是,查看您的导入并确保您实际导入java.util.LinkedList而不是其他一些LinkedList (4认同)
  • 你猜对了,干得好.就在前几天,我编写了一个简单的LinkedList用于练习,我不应该这么快忘记. (2认同)

cle*_*tus 11

您是否可能针对JDK 1.4或更早版本进行编译?或者您的构建或IDE中的语言设置是否设置为5.0之前(所以没有泛型支持)?

顺便说一句,最好的方法是

List<String> stringList = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

尽可能使用界面而不是实现.

话虽如此,假设您正在编译JDK 5.0+,请将您的语言设置设置为Java 5+并且这是一个java.util.LinkedList,那么您的代码就完全有效了.

  • 经典新手错误:"我在编译器中发现了一个错误." 这可能是可能的,但与你犯错误的概率相比,这个概率很小.消除这个想法 - 这将是你从这一集中学到的最好的东西 (9认同)
  • 实际上,最好的方法是使用Google Collections :-)`List <String> stringList = Lists.newLinkedList();` (2认同)