Nim*_*sky 6 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;
}
Run Code Online (Sandbox Code Playgroud)
这是因为我需要将列表保存到数据库并保留排序.
你可以使用番石榴:
List<MyObject> myObjects = Lists.transform(myStrings,
new Function<String, MyObject>() {
private int i = 0;
public MyObject apply(String stringValue) {
return new MyObject(i++, stringValue);
}
});
Run Code Online (Sandbox Code Playgroud)
真的,它只是将迭代带入库中.就编写的实际代码而言,在Java 8引入闭包之前,它们大致相同.
但是,您应该知道将函数设置为有状态(with i
)是不好的形式,因为现在它应用于列表的顺序很重要.
归档时间: |
|
查看次数: |
319 次 |
最近记录: |