public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
我有一个public class JavaStreamMultIterator {
public static void main(String[] args) {
}
private void iterateStringList() {
List<String> stringList = Arrays.asList("one", "two", "three");
List<Integer> intList = new ArrayList<>();
intList = stringList
.stream()
.forEach(s - > {intForString(s));
.collect(Collectors.toList());
}
private Integer intForString(String s) {
switch (s) {
case "one":
return 1;
case "two":
return 2;
case "three":
return 3;
default:
return 15;
}
}
}
,我想迭代这个列表,获取List<String>
并将其作为参数传递给方法。
该方法会返回String
,我想将其添加到Integer
。
List<Integer>
答案 0 :(得分:3)
forEach是终端函数,它会消耗并且不会返回任何内容。 您需要从intForString()为您的列表生成值。
List<Integer> intList =
stringList //your list
.stream() //generate stream
.map(this::intForString) //map them to integer
.collect(Collectors.toList());//collect all the integer toList()
答案 1 :(得分:2)
尝试使用map
stringList.stream()
.map(s->intForString(s))
.collect(Collectors.toList());