MethodHandles 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別僅包含對或回傳方法句柄的靜態方法。
[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
- 繼承
- 屬性
備註
此類別僅包含對或回傳方法句柄的靜態方法。 它們可分為幾類: <ul><li>查找方法,幫助建立方法與欄位的方法句柄。 <li>Combinator 方法,將既有方法的 handle 組合或轉換成新的。 <li>其他工廠方法,用來建立模擬其他常見 JVM 操作或控制流程模式的方法句柄。 </ul>
在 1.7 版本中加入。
的 java.lang.invoke.MethodHandlesJava 檔。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| MethodHandles(IntPtr, JniHandleOwnership) |
此類別僅包含對或回傳方法句柄的靜態方法。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| JniPeerMembers |
此類別僅包含對或回傳方法句柄的靜態方法。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此類別僅包含對或回傳方法句柄的靜態方法。 |
| ThresholdType |
此類別僅包含對或回傳方法句柄的靜態方法。 |
方法
| 名稱 | Description |
|---|---|
| ArrayConstructor(Class) |
產生一個方法柄,構造所需型態的陣列,就像位元組碼一樣 |
| ArrayElementGetter(Class) |
產生一個方法句柄,允許對陣列元素進行讀取存取。 |
| ArrayElementSetter(Class) |
產生一個方法句柄,允許對陣列元素進行寫入權限。 |
| ArrayElementVarHandle(Class) |
產生一個 VarHandle,允許存取型態 |
| ArrayLength(Class) |
產生一個方法句柄,回傳陣列的長度,就像位元組碼一樣 |
| ByteArrayViewVarHandle(Class, ByteOrder) |
產生一個 VarHandle,允許存取陣列中看似不同原始陣列類型的元素 |
| ByteBufferViewVarHandle(Class, ByteOrder) |
產生一個 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) |
由初始化器、一個主體和謂詞構造一個 |
| DropArguments(MethodHandle, Int32, Class[]) |
產生一個方法代言會先捨棄部分虛擬參數,然後再呼叫其他指定 目標 方法代碼。 |
| DropArguments(MethodHandle, Int32, IList<Class>) |
產生一個方法代言會捨棄部分佔位參數,然後再呼叫其他指定 目標 方法代碼。 |
| DropArgumentsToMatch(MethodHandle, Int32, IList<Class>, Int32) |
調整目標方法的句柄以匹配給定的參數類型列表。 |
| DropReturn(MethodHandle) |
刪除目標 handle 的回傳值(如果有的話)。 |
| Empty(MethodType) |
產生一個請求型別的方法代號,忽略任何參數,不做任何事,並根據回傳類型回傳合適的預設值。 |
| Equals(Object) |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| ExactInvoker(MethodType) |
產生一個特殊的 <em>invoker 方法 handle</em>,可用來呼叫任何特定類型的方法 handle ,就像 。 |
| ExplicitCastArguments(MethodHandle, MethodType) |
產生一個方法代柄,透過成對參數與回傳型別轉換,將所給方法的代號型態調整為新型態。 |
| FilterArguments(MethodHandle, Int32, MethodHandle[]) |
透過預先處理一個或多個參數,每個參數都有自己的一元濾波函數,然後呼叫目標,每個預處理參數都被對應的濾波函數結果取代。 |
| FilterReturnValue(MethodHandle, MethodHandle) |
透過後處理目標方法的代言人(若有回傳值),並使用過濾器(另一個方法代柄)來調整。 |
| FoldArguments(MethodHandle, Int32, MethodHandle) |
透過預處理部分參數,從指定位置開始,然後呼叫目標,將預處理結果插入原始參數序列中,位於摺疊參數之前。 |
| FoldArguments(MethodHandle, MethodHandle) |
透過預處理部分參數,然後將預處理結果插入原始參數序列中,來調整目標方法的句點。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GuardWithTest(MethodHandle, MethodHandle, MethodHandle) |
製作一個方法句柄,透過以測試保護目標方法柄,作為布林值的方法柄。 |
| Identity(Class) |
產生一個方法句柄,當被呼叫時回傳唯一的參數。 |
| InsertArguments(MethodHandle, Int32, Object[]) |
在方法句柄被呼叫之前,提供一個或多個 <em>綁定<參數/em> 的目標方法句柄。 |
| InvokeLookup() |
回傳 |
| Invoker(MethodType) |
產生一種特殊的 <em invoker 方法 handle>/em<,可用於呼叫與該類型相容的任何方法代碼,就像 由 > |
| IteratedLoop(MethodHandle, MethodHandle, MethodHandle) |
構造一個迴圈,範圍涵蓋由 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Loop(MethodHandle[][]) |
構造一個方法柄,代表一個包含多個迴圈變數的方法柄,每次迭代都會更新並檢查這些變數。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| PermuteArguments(MethodHandle, MethodType, Int32[]) |
產生一個方法代柄,透過重新排序參數,將所給方法代言的呼叫序列調整為新型態。 |
| PrivateLookupIn(Class, MethodHandles+Lookup) |
回傳一個具備完整功能以模擬所有支援的位元碼行為(包括私有存取)的查找物件,適用於目標類別。 |
| PublicLookup() |
回傳 |
| ReflectAs(Class, MethodHandle) |
對直接方法柄進行未受檢的「裂解」。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| SpreadInvoker(MethodType, Int32) |
產生一個方法代柄,能呼叫給定 |
| TableSwitch(MethodHandle, MethodHandle[]) |
建立一個表格切換方法的代言人,可用於根據給定的目標索引(稱為選擇器)切換一組目標方法代言人。 |
| ThrowException(Class, Class) |
產生一個方法句柄,會拋出給定 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| TryFinally(MethodHandle, MethodHandle) |
製作一個方法代柄,透過將某個方法代柄包裹在 |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| VarHandleExactInvoker(VarHandle+AccessMode, MethodType) |
產生一個特殊的調用器方法句柄,可用於在任何與該存取模式類型相容的變體處理器上呼叫簽章多態存取模式方法。 |
| VarHandleInvoker(VarHandle+AccessMode, MethodType) |
產生一個特殊的調用器方法句柄,可用於在任何與該存取模式類型相容的變體處理器上呼叫簽章多態存取模式方法。 |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| WhileLoop(MethodHandle, MethodHandle, MethodHandle) |
由初始化器、一個主體和謂詞構造一個 |
| Zero(Class) |
產生一個常數方法的 handle ,該 handle 是請求的回傳型別,每次呼叫時都會回傳該型別的預設值。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此類別僅包含對或回傳方法句柄的靜態方法。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別僅包含對或回傳方法句柄的靜態方法。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |