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