List<List<String>> results = new ArrayList<>();
在java中经常会看到这种写法,定义的类型和new后边的类型不一样,list后还嵌套着list,这个到底是什么意思?
天蓬老师2017-04-18 10:49:36
java 7 还是8 之后 泛型在实例化的时候 <>内可以省略。
至于list<list> 应该类似一个二维数组
不知这样是否用过 map<string,list<string>> 一对多关系 经常 用到。
迷茫2017-04-18 10:49:36
楼上两位都答不对题。。。
题主问的是1、为什么前面类型是List,而后面new的是ArrayList;2、list嵌套着list是什么意思。
讲道理,这个问题是你学面向对象第一个礼拜就能够接触到的知识吧。
results的声明类型是List,但是它的实际类型是ArrayList。ArrayList是List的实现类,就是子类的意思。results的具体的类型在程序编译期是无法确定的,而是在运行期,根据results的实际类型进行类型的动态绑定,这叫做多态。
List中嵌套着List的意思就是,这个集合中的元素依然是一个个的集合。