Language

MethodHandles クラス

定義

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

[Android.Runtime.Register("java/lang/invoke/MethodHandles", ApiSince=26, DoNotGenerateAcw=true)]
public class MethodHandles : Java.Lang.Object
[<Android.Runtime.Register("java/lang/invoke/MethodHandles", ApiSince=26, DoNotGenerateAcw=true)>]
type MethodHandles = class
    inherit Object
継承
MethodHandles
属性

注釈

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。 <ul><li>Lookup メソッドは、メソッドとフィールドのメソッド ハンドルを作成するのに役立ちます。 <li>Combinator メソッド。既存のメソッド ハンドルを結合または変換して新しいものに変換します。 <li>他の一般的な JVM 操作または制御フロー パターンをエミュレートするメソッド ハンドルを作成するためのその他のファクトリ メソッド。 </ul>

1.7 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

Name 説明
MethodHandles(IntPtr, JniHandleOwnership)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

プロパティ

Name 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
JniPeerMembers

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

ThresholdType

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

メソッド

Name 説明
ArrayConstructor(Class)

anewarrayバイトコードのように、目的の型の配列を構築するメソッド ハンドルを生成します。

ArrayElementGetter(Class)

配列の要素への読み取りアクセスを許可するメソッド ハンドルを生成します。

ArrayElementSetter(Class)

配列の要素への書き込みアクセスを許可するメソッド ハンドルを生成します。

ArrayElementVarHandle(Class)

arrayClass型の配列の要素へのアクセスを許可する VarHandle を生成します。

ArrayLength(Class)

arraylengthバイトコードの場合と同様に、配列の長さを返すメソッド ハンドルを生成します。

ByteArrayViewVarHandle(Class, ByteOrder)

byte[]やint[]など、異なるプリミティブ配列型であるかのように表示されるlong[]配列の要素へのアクセスを許可する VarHandle を生成します。

ByteBufferViewVarHandle(Class, ByteOrder)

ByteBufferやbyteなど、int[]とは異なるプリミティブ コンポーネント型の要素の配列であるかのように表示されるlong[]の要素へのアクセスを許可する VarHandle を生成します。

CatchException(MethodHandle, Class, MethodHandle)

例外ハンドラー内で実行することにより、ターゲット メソッド ハンドルを調整するメソッド ハンドルを作成します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
CollectArguments(MethodHandle, Int32, MethodHandle)

フィルター (別のメソッド ハンドル) を使用してその引数のサブシーケンスを前処理することによって、ターゲット メソッド ハンドルを調整します。

Constant(Class, Object)

呼び出されるたびに指定された定数値を返す、要求された戻り値の型のメソッド ハンドルを生成します。

Construct(JniObjectReference, JniObjectReferenceOptions)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
CountedLoop(MethodHandle, MethodHandle, MethodHandle, MethodHandle)

数値の範囲をカウントするループを構築します。

CountedLoop(MethodHandle, MethodHandle, MethodHandle)

特定の回数の反復を実行するループを構築します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
DoWhileLoop(MethodHandle, MethodHandle, MethodHandle)

初期化子、本体、および述語から do-while ループを構築します。

DropArguments(MethodHandle, Int32, Class[])

指定した他の ターゲット メソッド ハンドルを呼び出す前に、いくつかのダミー引数を破棄するメソッド ハンドルを生成します。

DropArguments(MethodHandle, Int32, IList<Class>)

他の指定された ターゲット メソッド ハンドルを呼び出す前に、いくつかのプレースホルダー引数を破棄するメソッド ハンドルを生成します。

DropArgumentsToMatch(MethodHandle, Int32, IList<Class>, Int32)

指定されたパラメーター型リストに一致するようにターゲット メソッド ハンドルを調整します。

DropReturn(MethodHandle)

ターゲット ハンドルの戻り値を削除します (存在する場合)。

Empty(MethodType)

引数を無視し、何も行わず、戻り値の型に応じて適切な既定値を返す、要求された型のメソッド ハンドルを生成します。

Equals(Object)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
ExactInvoker(MethodType)

特殊な <em>invoker メソッド ハンドル</em> を生成します。このハンドルを使用すると、 MethodHandle#invokeExact invokeExactの場合と同様に、特定の型の任意のメソッド ハンドルを呼び出すことができます。

ExplicitCastArguments(MethodHandle, MethodType)

ペアワイズ引数と戻り値の型変換によって、指定されたメソッド ハンドルの型を新しい型に適合させるメソッド ハンドルを生成します。

FilterArguments(MethodHandle, Int32, MethodHandle[])

1 つ以上の引数を前処理し、それぞれ独自の単項フィルター関数を使用してターゲット メソッド ハンドルを調整し、対応するフィルター関数の結果に置き換えられた事前処理された各引数でターゲットを呼び出します。

FilterReturnValue(MethodHandle, MethodHandle)

フィルター (別のメソッド ハンドル) を使用して戻り値 (存在する場合) を後処理することによって、ターゲット メソッド ハンドルを調整します。

FoldArguments(MethodHandle, Int32, MethodHandle)

引数の一部を事前処理し、指定した位置から開始し、事前処理の結果を使用してターゲットを呼び出し、折りたたまれた引数の直前にある元の引数シーケンスに挿入することで、ターゲット メソッド ハンドルを調整します。

FoldArguments(MethodHandle, MethodHandle)

一部の引数を前処理し、前処理の結果を使用してターゲットを呼び出し、元の一連の引数に挿入することで、ターゲット メソッド ハンドルを調整します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GuardWithTest(MethodHandle, MethodHandle, MethodHandle)

ブール値のメソッド ハンドルであるテストで保護することで、ターゲット メソッド ハンドルを調整するメソッド ハンドルを作成します。

Identity(Class)

呼び出されたときにその唯一の引数を返すメソッド ハンドルを生成します。

InsertArguments(MethodHandle, Int32, Object[])

メソッド ハンドルの呼び出しの前に、1 つ以上の <em>バインド引数</em> を持つターゲット メソッド ハンドルを提供します。

InvokeLookup()

呼び出し元でサポートされているすべてのバイトコード動作をエミュレートする完全な機能を備えた Lookup lookup object を返します。

Invoker(MethodType)

特殊な <em>invoker メソッド ハンドル</em> を生成します。このハンドルを使用すると、 MethodHandle#invoke invokeの場合と同様に、指定された型と互換性のあるメソッド ハンドルを呼び出すことができます。

IteratedLoop(MethodHandle, MethodHandle, MethodHandle)

Iterator<T>によって生成される値を範囲とするループを構築します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Loop(MethodHandle[][])

各イテレーションで更新およびチェックされる複数のループ変数を持つループを表すメソッド ハンドルを構築します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
PermuteArguments(MethodHandle, MethodType, Int32[])

引数を並べ替えることで、指定されたメソッド ハンドルの呼び出しシーケンスを新しい型に適応させるメソッド ハンドルを生成します。

PrivateLookupIn(Class, MethodHandles+Lookup)

ターゲット クラスでサポートされているすべてのバイトコード動作 (プライベート アクセスを含む) をエミュレートする完全な機能を持つルックアップ オブジェクトを返します。

PublicLookup()

最小限の信頼 Lookup lookup object を返します。

ReflectAs(Class, MethodHandle)

ダイレクト メソッド ハンドルのチェックされていない "クラック" を実行します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
SpreadInvoker(MethodType, Int32)

指定した typeの任意のメソッド ハンドルを呼び出すメソッド ハンドルを生成し、指定された数の末尾の引数を 1 つの末尾の Object[] 配列に置き換えます。

TableSwitch(MethodHandle, MethodHandle[])

テーブル スイッチ メソッド ハンドルを作成します。これを使用して、セレクターと呼ばれる特定のターゲット インデックスに基づいて、一連のターゲット メソッド ハンドルを切り替えることができます。

ThrowException(Class, Class)

指定された exTypeの例外をスローするメソッド ハンドルを生成します。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
TryFinally(MethodHandle, MethodHandle)

target ブロックでラップすることで、try-finally メソッド ハンドルを調整するメソッド ハンドルを作成します。

UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
VarHandleExactInvoker(VarHandle+AccessMode, MethodType)

関連付けられたアクセス モードの種類が指定された型と互換性がある VarHandle で署名ポリモーフィック アクセス モード メソッドを呼び出すために使用できる特別な呼び出し元メソッド ハンドルを生成します。

VarHandleInvoker(VarHandle+AccessMode, MethodType)

関連付けられたアクセス モードの種類が指定された型と互換性がある VarHandle で署名ポリモーフィック アクセス モード メソッドを呼び出すために使用できる特別な呼び出し元メソッド ハンドルを生成します。

Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
WhileLoop(MethodHandle, MethodHandle, MethodHandle)

初期化子、本体、および述語から while ループを構築します。

Zero(Class)

呼び出されるたびにその型の既定値を返す、要求された戻り値の型の定数メソッド ハンドルを生成します。

明示的なインターフェイスの実装

Name 説明
IJavaPeerable.Disposed()

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
IJavaPeerable.Finalized()

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

(継承元 JavaObject)

拡張メソッド

Name 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

このクラスは、メソッド ハンドルを操作または返す静的メソッドのみで構成されます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象