所以我修改了一个API(用于命令管理)以使用String []而不是字符串列表。
我的问题在这里:strings.subList(1, strings.length)
因此,我需要将其更改为可以执行相同工作的其他替代方案。
我到底能在这做什么?
答案 0 :(得分:2)
您无法获得一个数组,这是另一个数组的切片视图 - 但您可以在数组上创建列表视图,然后在其上使用子列表:
List<String> stringList = Arrays.asList(strings);
List<String> subList = stringList.subList(1, strings.length);
现在你无法将它传递给任何采用数组的东西,当然......
所以你的选择是:
List<String>
- 这是我的建议,因为集合类通常比数组更灵活System.arraycopy
或Arrays.copyOfRange
)答案 1 :(得分:0)
如果您希望将数组的一部分复制到新数组中,我建议您使用Arrays.copyOfRange
函数:
Arrays.copyOfRange(strings, 1, strings.length());
(看到Jon Skeet的回答,怯懦地溜走了)