java如何从lambda中获取变量?
我有一个在文件中查找动物物种的方法,我希望它在数据库中不存在物种时抛出一个错误
public void printAnimalFromNames(String... s){
try (Stream<String> stream = Arrays.stream(s)) {
stream.forEach(x -> printAnimalPage(AnimalInfo.get(findSpecie(x))));
} catch (Exception e){
System.out.println("this spiece don't seem to exist");
}
}
在我的catch部分,我想在错误解释中加入x变量,比如
[...]
catch (Exception e){
System.out.println("this spiece "+x+" don't seem to exist");
}
我该怎么办
# 1 楼答案
您必须将
try-catch
移动到lambda的主体内,因为lambda参数x
在这个范围内: