24

そのため、Java 8 ではメソッド参照が導入され、ドキュメントでは 4 つの型について説明されています

私の質問は、2 つのインスタンス タイプの違いは何ですか?

  1. 特定のオブジェクトのインスタンス メソッドへの参照。
  2. 特定の型の任意のオブジェクトのインスタンス メソッドへの参照。

どちらも参照を参照していますが、何が大きく違うのでしょうか? それらを解決するために使用される型推論が異なるということですか? (彼らの例では)一方がクロージャーで、もう一方がラムダであることは重要ですか?メソッドの引数の数と関係がありますか?

4

3 に答える 3

17
  1. myString::charAtを取り、intを返し、charそのように機能する任意のラムダに使用される可能性があります。それは、本質的に、に変換されindex -> myString.charAt(index)ます。

  2. String::lengthを取り、Stringを返しますint。それは、本質的に、に変換されstring -> string.length()ます。

  3. String::charAtに変換され(string, index) -> string.charAt(index)ます。

于 2014-03-19T19:38:29.927 に答える