我对java 8很陌生。
我想使用java8,并希望在下面转换为java8。
List<Model> listModel;
for (Model model : listModel)
{
try
{
new UpDateData().bankData(model.getCust_id(), model.getBank_id(), model.getDate());
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}示范班::
public class Model
{
private int cust_id;
private int bank_id;
private String date;
//setter and getter
}我的问题是如何在上面的列表中应用java 8特性,我想迭代并调用另一个函数。
发布于 2017-11-23 11:09:16
你只需要一个forEach
listModel.forEach(model -> {
try {
new UpDateData().bankData(model.getCust_id(), model.getBank_id(), model.getDate());
} catch(){
.... handle
}
})发布于 2017-11-23 11:45:15
forEach在java 8中使用,因为iteration.You可以使用Iterable.forEach()方法循环所有元素。
List<String> words = new ArrayList<>(Arrays.asList("the", "this",
"that", "there"));
alphabets.forEach(s -> { System.out.println(s) }); //using lamda List<>是可迭代的类型,因此您可以直接在list.This上使用forEach,与以前的外部迭代相比,list.This称为内部迭代。这将由java自动转换为外部迭代。在lambda中,大括号是可选的,如果只有一条语句是强制性的。与循环中的旧if块相比,您可以在迭代器上使用过滤器。
alphabets.stream()
.filter(s -> s.startsWith("the"))
.forEach(System.out::println);
alphabets.stream()
.filter(s -> s.length() > 3)
.forEach(System.out::println);上面的语法使用方法引用来打印元素。
https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html
https://stackoverflow.com/questions/47454018
复制相似问题