語言

Record 類別

定義

這是所有 Java 語言記錄類別的共同基底類別。

[Android.Runtime.Register("java/lang/Record", ApiSince=34, DoNotGenerateAcw=true)]
public abstract class Record : Java.Lang.Object
[<Android.Runtime.Register("java/lang/Record", ApiSince=34, DoNotGenerateAcw=true)>]
type Record = class
    inherit Object
繼承
屬性

備註

這是所有 Java 語言記錄類別的共同基底類別。

關於記錄的更多資訊,包括編譯器所隱含宣告的方法描述,可參見 cite<Java 語言規範>/cite< 第 8.10 >節。

EM 記錄類別</em> 是一種淺不變且透明的載體,承載一組固定的值,稱為 <em>記錄元件</em>。<> Java 語言提供了簡潔的語法來宣告記錄類別,記錄元件會在記錄標頭中宣告。 記錄標頭中宣告的記錄元件清單為 <em>記錄描述符</em>。

記錄類別有以下強制成員: <一個 em>標準建構子</em>,必須提供至少與記錄類別相同的存取權限,且其描述符與記錄描述符相同;一個對應每個元件的私有最終欄位,其名稱與型別與元件相同;一個對應每個元件的公開存取器方法, 其名稱與回傳類型與元件相同。 若未在正文中明確宣告,則會提供這些成員的隱含實作。

典範建構子的隱式宣告與記錄類別相同,並從相應建構子參數初始化元件欄位。 存取者方法的隱式宣告會回傳對應元件欄位的值。 隱含宣告 Object#equals(Object)Object#hashCode()Object#toString() 方法均由所有組成欄位推導而來。

提供標準建構子或存取器方法明確宣告的主要原因,是為了驗證建構子參數、對可變元件進行防禦性複製,或正規化元件群組(例如將有理數簡化到最低項)。

對於所有記錄類別,以下不變量必須成立:若記錄 R 的組成部分為 c1, c2, ... cn,則若記錄實例被複製如下:

R copy = new R(r.c1(), r.c2(), ..., r.cn());

則必須成立 r.equals(copy)

16年加入。

java.lang.RecordJava 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
Record()

記錄類別的建構器可呼叫。

Record(IntPtr, JniHandleOwnership)

用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
JniPeerMembers

取得用於調用此 Java 節點成員的 JNI 元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

Equals(Object)

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
GetHashCode()

回傳一個雜湊碼值作為記錄。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳記錄的字串表示。

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

這是所有 Java 語言記錄類別的共同基底類別。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

這是所有 Java 語言記錄類別的共同基底類別。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於