2017-10-25 8 views
2

コンパイラが1つのパラメータだけを持つメソッドの型を調べることができる場合、なぜ2つ以上のパラメータを持つメソッドで同じことを行うことができないのでしょうか?なぜJava Lambda型推論は、一意のパラメータを持つメソッドのみを扱うのですか?

ここ例:別の方法で

enter image description here

、コンパイルはstrが独自の方法で文字列(最初のパラメータであり、また、STR2が文字列であることを把握することはできませんなぜ?(独自のメソッドの2番目のパラメータ

+3

'(str、str2) - > str.length()'? – Eugene

+0

'Processor stringProcessor =(str1、str2) - > str1.length();'は 'str1'と' str2'を 'String'sとして正しく推論できます。 –

+1

@Eugene it works :) thanks – Aguid

答えて

4

あなたがこれを正しく定義されていないようだ。

(str, str2) -> str.length() 

2番目の例でもコンパイル時エラーが発生するはずです。

関連する問題