簡體   English   中英

創建鏈接列表的鏈接列表時出錯

[英]Error while creating LinkedList of LInkedLists

我正在嘗試在 Java 中創建 LinkedList 的 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

我應該如何 go 解決這個問題?


好的,所以只是為了測試我創建了一個虛擬 class 只是為了創建 LinkedList 的 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<>() );
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM