MethodHandles.Lookup.FindStaticVarHandle(Class, String, Class) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
產生一個 VarHandle,允許存取類型為 的靜態欄位,該欄位nametype在類型 decl的類別中宣告。
[Android.Runtime.Register("findStaticVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle FindStaticVarHandle(Java.Lang.Class decl, string name, Java.Lang.Class type);
[<Android.Runtime.Register("findStaticVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.FindStaticVarHandle : Java.Lang.Class * string * Java.Lang.Class -> Java.Lang.Invoke.VarHandle
參數
- decl
- Class
宣告靜態場的類別
- name
- String
該田名稱
- type
- Class
場的類型,類型 T
傳回
一個 VarHandle 提供靜態欄位存取
- 屬性
備註
產生一個 VarHandle,允許存取類型為 的靜態欄位,該欄位nametype在類型 decl的類別中宣告。 VarHandle 的變數型別是 , type 且沒有座標型別。
存取檢查會立即代表查詢類別執行。
若對回傳的 VarHandle 進行操作,宣告類別將被初始化(若尚未初始化)。
回傳 VarHandle 的某些存取模式在以下條件下不被支援:<ul<>li>如果欄位被宣告final為 ,則寫入、原子更新、數值原子更新及位元原子更新存取模式皆不被支援。
<LI>如果欄位類型不是 byte、 short、 char、 floatintlong或 double,則不支援數值原子更新存取模式。
<如果>欄位類型不是 boolean、 byte、 short、 char, int 則 long 不支援位元原子更新存取模式。
</ul>
若欄位被宣告 volatile ,回傳的 VarHandle 會依照指定的存取模式覆蓋該欄位的存取(實際上忽略宣 volatile 告)。
若欄位類型為 float 或 double ,則數值更新與原子更新存取模式會使用其位元表示法比較值(分別參見 Float#floatToRawIntBits 和 Double#doubleToRawLongBits)。
新增9。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。