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