我有一個問題,找到答案應該很容易,但我找不到它。我是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;' –