2

如何在这里转换

List<String> values = new ArrayList<String>

至 :

ArrayList<Custom>

编辑

public class Custom {


    public Custom Parse(String input) {
        // What should I do here?
    }
}
4

3 回答 3

4

你可以使用:

List<Custom> customList = new ArrayList<Custom>();
for (String value: values) {
   customList.add(new Custom(value));
}

虽然最好只添加一个带String参数的构造函数:

class Custom {
   private final String input;

   public Custom(String input) {
      this.input = input;
   }

   // not needed but implemented for completeness    
   public static Custom parse(String input) {
      return new Custom(input);
   }
}
于 2012-09-20T12:14:56.350 回答
0

假设您的Custom对象列表与values列表大小相同。使用一个增强的 for 循环,设置对象的适当字段,如下所示:

int i=0;

for(String str:values)
   customList.get(i++).setSomeProperty(str);
于 2012-09-20T12:11:02.370 回答
0

您可以在此线程上使用 Google Collections 库找到解决方案Converting a List<String> to a List<Integer> (或任何扩展 Number 的类)

于 2012-09-20T12:11:41.110 回答