因此我修改了 API(用于命令管理)以使用 String[] 而不是字符串列表。
我的问题在这里:strings.subList(1, strings.length)
所以我需要将其更改为可以完成相同工作的不同替代方案。
我在这里到底能做什么?
最佳答案
您无法获得一个数组,该数组是另一个数组的切片 View - 但您可以在数组上创建一个 ListView ,然后在其上使用子列表:
List<String> stringList = Arrays.asList(strings);
List<String> subList = stringList.subList(1, strings.length);
当然,现在您将无法将其传递给任何采用数组的内容......
所以你的选择是:
- 返回使用
List<String>
无处不在 - 这是我的建议,因为集合类通常比数组更灵活 - 在部分代码中使用数组,但在其他地方使用集合类
- 复制数组的一部分(例如使用
System.arraycopy
或Arrays.copyOfRange
)
关于java - 字符串数组的 #subList() 的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31099438/