以下のコードを見てみましょう。ラムダ式がどのように機能インタフェースにマップされますか?
List<String> names = Arrays.asList("Adam", "Brian", "Supun");
List<Integer> lengths = names.stream()
.map(name -> name.length())
.collect(Collectors.toList());
そして、単に、その後streams.map
ためjavadocを見ていきます。そこで、map
メソッドのシグネチャがこのように表示されます。
<R> Stream<R> map(Function<? super T,? extends R> mapper)
誰かはJVMがFunction<? super T,? extends R> mapper
の面で我々が与えたラムダ式(name -> name.length()
)をマップする方法を説明していただけますか?
達成しようとしていることは何ですか? Stream型のローカル変数を作成する必要はありません。 'names.stream()。map(...)。collect(Collectors.toList())'を探していますか?また、生のList型は使用しないでください。 – Michael
@Michael実際に私はラムダ表現部分に焦点を当てるために視聴者を必要としました。だから私はあなたが言及した後者の追加を追加しませんでした。これはラムダを機能的なインターフェイスにマッピングすることを理解するためのものです。他に何もない。 :)) –
@マイケルはあなたの意見を持っていました。ありがとうございました。 :))私はコードを修正したいと思っています。 –