搜索

首页  >  问答  >  正文

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

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

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

阿神阿神2803 天前548

全部回复(3)我来回复

  • 高洛峰

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

    这不就是List每个元素仍然是List嘛。后面没写泛型因为可以省略。

    回复
    0
  • 天蓬老师

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

    java 7 还是8 之后 泛型在实例化的时候 <>内可以省略。
    至于list<list> 应该类似一个二维数组
    不知这样是否用过 map<string,list<string>> 一对多关系 经常 用到。

    回复
    0
  • 迷茫

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

    楼上两位都答不对题。。。
    题主问的是1、为什么前面类型是List,而后面new的是ArrayList;2、list嵌套着list是什么意思。
    讲道理,这个问题是你学面向对象第一个礼拜就能够接触到的知识吧。
    results的声明类型是List,但是它的实际类型是ArrayList。ArrayList是List的实现类,就是子类的意思。results的具体的类型在程序编译期是无法确定的,而是在运行期,根据results的实际类型进行类型的动态绑定,这叫做多态。
    List中嵌套着List的意思就是,这个集合中的元素依然是一个个的集合。

    回复
    0
  • 取消回复