Javaは - 使用している場合::の機能は、内部パラメータを受け取りますか?

user10796624:

私はいくつかの混乱を持っているし、私の概念をクリアしたいです。

私たちに次の文を言ってみましょう:

.map(i -> Tests.doubleIt(i))

だから、使用しているとき::のように:

.map(Tests::doubleIt)

だから、ないiパラメータは内部で受信されdoubleIt、内部に渡されるdoubleIt方法?

私たちはどのように内部を知ることができi、受信したと渡されdoubleItた場合の方法を::

TJクラウダー:

内のコードmapの呼び出し、あなたがそれを渡す機能(doubleIt引数を直接渡し)、doubleItその最初の仮パラメータとして受け取ります。これとは対照的に、あなたのラムダバージョンで、mapあなたのラムダはそのよう受け取る引数を使用してラムダ呼び出し、iパラメータ、その後、あなたのラムダ呼び出しをdoubleIt使用してi引数としてを。だから、ラムダよりも(理論的に)メソッドを参照してより直接的です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=233585&siteId=1