問題タブ [methodhandle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java メソッドハンドル; 複数の場所でパラメーターを使用する
Java では、次のように、複数のメソッド ハンドルをそれぞれのパラメーターと組み合わせることができます。
.. MethodHandles.collectArguments()を使用して。
取得したメソッド ハンドルは、次のように呼び出すことができます。
しかし今、次のようにパラメーターをコール ツリーにディスパッチするメソッド ハンドルを取得したいと考えています。
その方法について頭を悩ませることはできません。手伝って頂けますか?
java - MethodHandle を使用して最も具体的なオーバーロードされたメソッドを見つける
特定のタイプ (クラス/インターフェース) 内に 3 つのメソッドがあるとします。
またはリフレクションを使用しMethodHandle
て、型が実行時にのみ知られているオブジェクトの最も具体的なオーバーロードされたメソッドを見つけたいと思います。つまり、実行時にJLS 15.12を実行したいと考えています。
たとえば、上記の 3 つのメソッドを含む上記のタイプのメソッドに次のものがあるとします。
次に、概念的には選択されたいと思いfoo(Number number)
ますが、API はメソッドのみを検索し、他にはfoo(Long)
何も検索しないため、上記は例外をスローします。ここでの使用法Long
は単なる例であることに注意してください。オブジェクトの型は、実際には何でもかまいません。文字列、MyBar、整数、...などなど。
MethodHandle API には、JLS 15.12 に従ってコンパイラが行うのと同じ種類の解決を実行時に自動的に実行するものがありますか?