由于这实际上不是字符串列表,因此最简单的方法是循环访问它并自行将每个项目转换为新的字符串列表:
List<String> strings = list.stream()
.map(object -> Objects.toString(object, null))
.collect(Collectors.toList());
或者,当您尚未使用 Java 8 时:
List<String> strings = new ArrayList<>(list.size());
for (Object object : list) {
strings.add(Objects.toString(object, null));
}
或者,当您尚未使用 Java 7 时:
List<String> strings = new ArrayList<String>(list.size());
for (Object object : list) {
strings.add(object != null ? object.toString() : null);
}
请注意,您应该针对接口(在本例中为 java.util.List
)声明,而不是针对实现进行声明。