List<List<String>> results = new ArrayList<>();
在java中经常会看到这种写法,定义的类型和new后边的类型不一样,list后还嵌套着list,这个到底是什么意思?
闭关修行中......
これは、List のすべての要素が依然として List であるというだけではありませんか。ジェネリックは省略できるため、後で書きませんでした。
Java 7 または 8 以降では、インスタンス化時に <> 内でジェネリックを省略できます。 list<list> については、2 次元配列に似ているはずです。 これは、1 対多の関係でよく使用されるのではないでしょうか。
上記の 2 人は両方とも質問に不正解でした。 。 。 主な質問は次のとおりです: 1. なぜ先頭の型は List で、末尾の新しい型は ArrayList なのでしょうか? 2. リストがリスト内でネストされているとはどういう意味ですか? 正直に言うと、この質問はオブジェクト指向を学び始めて最初の 1 週間で遭遇する可能性のある質問です。 結果の宣言された型は List ですが、実際の型は ArrayList です。 ArrayList は List の実装クラスであり、サブクラスを意味します。結果の特定の型は、プログラムのコンパイル中に決定することはできません。代わりに、実行時に、型は結果の実際の型に基づいて動的にバインドされます。これはポリモーフィズムと呼ばれます。 List 内にネストされた List は、このセット内の要素が 1 つずつセットであることを意味します。
これは、List のすべての要素が依然として List であるというだけではありませんか。ジェネリックは省略できるため、後で書きませんでした。
Java 7 または 8 以降では、インスタンス化時に <> 内でジェネリックを省略できます。
list<list> については、2 次元配列に似ているはずです。
これは、1 対多の関係でよく使用されるのではないでしょうか。
上記の 2 人は両方とも質問に不正解でした。 。 。
主な質問は次のとおりです: 1. なぜ先頭の型は List で、末尾の新しい型は ArrayList なのでしょうか? 2. リストがリスト内でネストされているとはどういう意味ですか?
正直に言うと、この質問はオブジェクト指向を学び始めて最初の 1 週間で遭遇する可能性のある質問です。
結果の宣言された型は List ですが、実際の型は ArrayList です。 ArrayList は List の実装クラスであり、サブクラスを意味します。結果の特定の型は、プログラムのコンパイル中に決定することはできません。代わりに、実行時に、型は結果の実際の型に基づいて動的にバインドされます。これはポリモーフィズムと呼ばれます。
List 内にネストされた List は、このセット内の要素が 1 つずつセットであることを意味します。