【发布时间】:2018-06-21 20:27:11
【问题描述】:
原来我有这个代码:
String[] A;
String[] B;
//...
List<String> myList= new ArrayList<>(A.length + B.length);
for (int i= 0; i< B.length; i++){
myList.add(A[i]);
myList.add("*".equals(B[i]) ? B[i] : doSomethingWith(B[i]));
}
如果最好使用 Java 8,如何重构?
如果我有这些数组
A = {“一”、“二”、“三”、“四”}
B = {“五”、“六”、“七”、“八”}
在代码的最后,myList 将是:
myList = {“一”、“五”、“二”、“六”、“三”、“七”、“四”、“八”}
【问题讨论】:
-
为什么不用foreach?
-
我不会说这需要重构——它的作用已经很清楚了,尝试将它包装在某种流中可能只会让它更难理解。
-
@raullalves 顺便说一句,您现在没有使用实际的
foreach循环 -
也许使用两个迭代器而不是循环索引?但我真的不认为代码有问题。如果 SonarQube 抱怨,告诉它忽略它。
标签: java list collections