我有一个问题,找到答案应该很容易,但我找不到它。我是Java新手,主要使用C#。带花括号的流api
假设我们有下面的代码:
List<Double> mean = new ArrayList<>(Collections.nCopies(dim, .0));
//some stuff
mean = mean.stream().map(num->num/=dim).collect(Collectors.toList());
It'a所有凉爽。现在让我们说我想做很多操作,不仅仅是lamba函数内部的一个分歧。然后,我想这一定是使用大括号,我见过一些例子,但是当我将其更改为:
List<Double> mean = new ArrayList<>(Collections.nCopies(dim, .0));
//some stuff
mean = mean.stream().map(num-> {num/=dim; /* other stuff */}).collect(Collectors.toList());
它给了我一个错误,这个方法是不是能够为参数(([no_type]num)->{})
。我试过使用显式演员,但它保持不变。我确信我可以在C#中做这样的事情。
谢谢!
什么是实际错误? –
类型流中的方法映射(函数<?super Double,?extends R>)不适用于参数(( num) - > {})。 –
见路易斯的答案。如果你使用{}并返回一个值,你必须说'return expression;' –