我对Java中的lambda非常陌生。
我开始使用它,因为我发现它们很有趣,但我仍然不知道如何完全使用它们
我有一个uuid列表,对于每个uuid,我想调用一个带有两个参数的函数:第一个是字符串,第二个是uuid
我为每个uuid传递了一个常量字符串
我写了下面的代码,但是没有用
uuids.stream()
.map(uuid -> {"string",uuid})
.forEach(AService::Amethod);
是另外的AService类的方法
public void Amethod(String a, UUID b) {
System.out.println(a+b.toString());
}
Lambda表达式具有单个返回值,因此{"string",uuid}
不起作用。
您可以使用返回数组,.map(uuid -> new Object[]{"string",uuid})
但AService::Amethod
方法引用将不接受该数组。
在您的示例中,您可以跳过以下map
步骤:
uuids.stream()
.forEach(uuid -> aservice.Amethod("string",uuid));
您要在其上执行方法aservice
的AService
类的实例在哪里Amethod
?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句