如何在Java中获取ArrayList
的数组切片?具体来说,我想要做这样的事情:
ArrayList<Integer> inputA = input.subList(0, input.size()/2);
// where 'input' is a prepouplated ArrayList<Integer>
我本以为这个会起作用,但Java返回了一个List
- 所以它不兼容。而且当我尝试进行强制类型转换时,Java不允许我这么做。 我需要一个ArrayList
- 我该怎么办?
ArrayList
?我认为你可能对接口的工作原理了解不够,因为List
和ArrayList
不是“不兼容”的——ArrayList
实现了List
,而List
可能包含你所需的所有必要方法。 - BombeArrayList
是因为他需要调用一个接受ArrayList
的方法。可以认为这样的方法设计不太好,应该改为接受List
,但是这种情况不仅出现在面试问题中,还可能出现在其他人编写的代码中,而我们不能随意更改同事和库的代码。 - Gravity