2015-09-16 30 views
5

私はKotlinでオブジェクトのメソッドリファレンスを使用することができないようです。この機能はJavaに存在します。 Javaで例えばKotlin:メソッド参照が機能していませんか?

私はライターに各文字を追加するために、文字列をループしている場合:

string.forEach(writer::append);

しかしKotlinであるため、同じ構文を使用して動作しません。

enter image description here

+2

別個の言語です。なぜあなたはある機能が自動的に別の機能で動作すると思いますか? – yshavit

+0

私は数ヶ月前に彼らが適切なメソッド参照を追加したと思った。これは、定型文を保存するために必要な機能であり、それがKotlinの主張です。 – Jire

+2

彼らは、私は本当にコトルを知っていない可能性があります。しかし、私はJavaへの接続を理解していません。なぜなら、この質問は完全にKotlinに関するものだからです。ドキュメント[関数リファレンスについて](http://kotlinlang.org/docs/reference/reflection.html#function-references)をチェックしましたか? – yshavit

答えて

11

現在のところ、Kotlinは、最上位およびローカル関数への参照と、クラスのメンバーのみをサポートしています。個別のinstaではなくnces。ドキュメントhereを参照してください。

だから、あなたはWriter::appendを言うと機能Writer.(Char) -> Writerが、writerインスタンスを取り、(Char) -> Writerは、現時点ではサポートされていない機能を取得するためにwriter::appendを言ってを得ることができます。

+1

ありがとう!将来のKotlinバージョンでこの機能を追加する予定はありますか? – Jire

+1

https://youtrack.jetbrains.com/issue/KT-6947 – D3xter

関連する問題