java - 如何仅使用 Java 7(及以下版本)将原始数据类型列表转换为 List<String>

标签 java generics java-7 type-conversion raw-types

有很多关于类似主题的 QA 帖子,例如:

Java: Converting lists of one element type to a list of another type

How to transform List to another List

但是,他们都使用了一些额外的库,这对我来说是不合适的。我想找到仅使用 Java 7(及以下)库的最佳解决方案。

假设我们已经:

List list = new LinkedList(); 
list.add(2);
list.add("Mike");
list.add("John");
list.add(11);

transformer(list); // transform List to List<String>
list.get(0).toLowerCase(); 

如何实现void transform(List list)方法?

最佳答案

您可以查看列表的内容并调用 String.valueOf(Object)每一个:

List<String> result = new LinkedList<>();
for (Object o : list) {
    result.add(String.valueOf(o));
}

编辑:
这也可以通过 ListIterator 内联完成。 ,如果您愿意:

ListIterator iter = list.listIterator();
while (iter.hasNext()) {
    iter.set(String.valueOf(iter.next()));
}

关于java - 如何仅使用 Java 7(及以下版本)将原始数据类型列表转换为 List<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41651419/

相关文章:

java - 为什么 PropertyDescriptor 行为从 Java 1.6 更改为 1.7?

Java:找出哪个观察者正在监听

java - Spring:如何在 Spring 项目中将 Polymer Push-manifest.json 与 HTTP2 Server Push 结合使用

c# - C# 中的静态派生类型?

java - 在 JAVA servlet 中下载 Excel 时出现错误文件不匹配

java - 嵌套泛型返回类型

ios - 如何在不同的类中使用公共(public)代码

java - 如何复制文件并将完整路径粘贴到 JTextField

java线程交错

java - 如果输入不是java中的数字,如何检查并显示错误消息