java - 将 List<String> 转换为 List<MyObject>,其中 MyObject 包含一个表示顺序的 int

标签 java design-patterns

是否有我缺少的模式或内置函数,或者我应该像这样循环

public List<MyObject> convert(List<String> myStrings){

    List<MyObject> myObjects = new ArrayList<MyObject>(myStrings.size());

    Integer i = 0;
    for(String string : myStrings){
        MyObject myObject = new myObject(i, string);
        myObjects.add(object);
        i++;
    }
    return myObjects;
}

这是因为我需要将列表保存到数据库并保留顺序。

最佳答案

您可以使用 Guava :

List<MyObject> myObjects = Lists.transform(myStrings,
   new Function<String, MyObject>() {
       private int i = 0;
       public MyObject apply(String stringValue) {
           return new MyObject(i++, stringValue);
       }
   });

不过,实际上它只是将迭代带入库中。就实际编写的代码而言,在 Java 8 引入闭包之前,情况大致相同。

但是,您应该知道像这样(使用 i)使函数有状态是错误的形式,因为现在它应用于列表的顺序很重要。

关于java - 将 List<String> 转换为 List<MyObject>,其中 MyObject 包含一个表示顺序的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7448159/

相关文章:

java - 使用泛型无需强制转换观察者模式

Haskell 的 Data.Text : Good to use as basis for text editor?

java - 为什么我的 Arrays.sort 不起作用?

java - 责任链——通过所有链传递请求

java - 界面中的默认方法在命令提示符下运行,但在 eclipse 中不运行

java - 如何使用有界类型参数扩展泛型类

javascript - 设计一款集换式纸牌游戏

design-patterns - 通过 redis 与推拉共享状态

java - 处理DefaultHandlerExceptionResolver : org. springframework.http.converter.HttpMessageNotReadableException:JSON解析错误:意外字符

Java:服务器端类上的静态字符串数组