ホームページ  >  に質問  >  本文

请问各位java自带类的一些问题

List<List<String>> results = new ArrayList<>();

在java中经常会看到这种写法,定义的类型和new后边的类型不一样,list后还嵌套着list,这个到底是什么意思?

阿神阿神2744日前494

全員に返信(3)返信します

  • 高洛峰

    高洛峰2017-04-18 10:49:36

    これは、List のすべての要素が依然として List であるというだけではありませんか。ジェネリックは省略できるため、後で書きませんでした。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:49:36

    Java 7 または 8 以降では、インスタンス化時に <> 内でジェネリックを省略できます。
    list<list> については、2 次元配列に似ているはずです。
    これは、1 対多の関係でよく使用されるのではないでしょうか。

    返事
    0
  • 迷茫

    迷茫2017-04-18 10:49:36

    上記の 2 人は両方とも質問に不正解でした。 。 。
    主な質問は次のとおりです: 1. なぜ先頭の型は List で、末尾の新しい型は ArrayList なのでしょうか? 2. リストがリスト内でネストされているとはどういう意味ですか?
    正直に言うと、この質問はオブジェクト指向を学び始めて最初の 1 週間で遭遇する可能性のある質問です。
    結果の宣言された型は List ですが、実際の型は ArrayList です。 ArrayList は List の実装クラスであり、サブクラスを意味します。結果の特定の型は、プログラムのコンパイル中に決定することはできません。代わりに、実行時に、型は結果の実際の型に基づいて動的にバインドされます。これはポリモーフィズムと呼ばれます。
    List 内にネストされた List は、このセット内の要素が 1 つずつセットであることを意味します。

    返事
    0
  • キャンセル返事