我正在尝试在 Java 中创建 LinkedLists 的 LinkedList。

以下代码段出现错误。我正在使用 java 11 和 util.List

不知道为什么我收到这个错误..

N = in.read(); 
List<List<Integer>> L; 
L = new LinkedList<>(); 
for( i = 0;i<N;i++) L.add(new LinkedList<>()); 

它给出了以下错误:
A.java:25: error: cannot infer type arguments for LinkedList 
            L = new LinkedList<>(); 
                              ^ 
  reason: cannot use '<>' with non-generic class LinkedList 
A.java:26: error: cannot infer type arguments for LinkedList 
            for( i = 0;i<N;i++) L.add(new LinkedList<>()); 
                                                    ^ 
  reason: cannot use '<>' with non-generic class LinkedList 

我应该如何继续解决这个问题?

好的,所以只是为了测试我创建了一个虚拟类只是为了创建 LinkedLists 的 LinkedList。这是完整的程序:
import java.util.*; 
class Dummy 
{ 
    public static void main(String[] args)  
    { 
        List<List<Integer>> L; 
        L = new LinkedList<>(); 
        for(int i = 0;i<10;i++) L.add(new LinkedList<>());     
    } 
} 

同样,这些错误:
A.java:7: error: cannot infer type arguments for LinkedList 
        L = new LinkedList<>(); 
                          ^ 
  reason: cannot use '<>' with non-generic class LinkedList 
A.java:8: error: cannot infer type arguments for LinkedList 
        for(int i = 0;i<10;i++) L.add(new LinkedList<>());     
                                                    ^ 
  reason: cannot use '<>' with non-generic class LinkedList 
 

编辑:好的,当我使用 import java.util.List 和 import java.util.linkedList 而不是 import java.util.* 时工作正常

正如评论中所指出的,我的构建路径可能存在一些问题

请您参考如下方法:

我已经尝试过使用 java7 和使用 java8 的示例,它给了我与您在 java7 中看到的相同的错误,但对 java8 对我有用。

为什么它不适用于 java7 将与该版本编译器中类型推断的限制有关。

我希望 java11 至少能像 java8 一样工作(也就是说,代码应该使用 java11 编译)。你能仔细检查你的编译器设置吗?您可能正在使用 java11 编译器,但可能已将其设置为使用 java7 规则生成代码。

这是我测试的代码版本:

import java.util.List; 
import java.util.LinkedList; 
 
public class TypeTest { 
    private static final int STORAGE_SIZE = 10; 
 
    private static final List<List<Integer>> storage = new LinkedList<>(); 
 
    static { 
        for ( int elementNo = 0; elementNo < STORAGE_SIZE; elementNo++ ) { 
            storage.add( new LinkedList<>() ); 
        } 
    } 
} 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!