Edits 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
記錄字串編輯的長度,但不記錄替換文字。
[Android.Runtime.Register("android/icu/text/Edits", ApiSince=29, DoNotGenerateAcw=true)]
public sealed class Edits : Java.Lang.Object
[<Android.Runtime.Register("android/icu/text/Edits", ApiSince=29, DoNotGenerateAcw=true)>]
type Edits = class
inherit Object
- 繼承
- 屬性
備註
記錄字串編輯的長度,但不記錄替換文字。 支援線性進行的替換、插入與刪除。 不支援移動或重新排序文字。
編輯有兩種: <em>change edits</em> 和 <em>no-change edits/<em>。 透過( #addReplace(int, int) 用於變更編輯)和 #addUnchanged(int) (用於無變更編輯)來新增編輯。 變更編輯會以完整細分方式保留,而相鄰的無變更編輯則會合併在一起。 在無變更編輯中,來源與目標字串的代碼點之間有一對一的對應。
在所有編輯都加入後,這個類別的實例應被視為不可變的,且 an Edits.Iterator 可用於查詢。
編輯有四種版本。迭代器: <ul><li>#getFineIterator() 保留了完整的修改細節。
<LI>#getFineChangesIterator() 保留完整修改細節,且在迭代器呼叫 next() 時,跳過無變更的編輯(未變更區域)。
<Li>#getCoarseIterator() 將相鄰的變更編輯視為單一編輯。 (相鄰且無變更的編輯會在建構階段自動合併。) <李>#getCoarseChangesIterator() 將相鄰的變更編輯視為單一編輯,且在迭代器呼叫 next() 時,跳過無變更的編輯(未變更區域)。
</ul>
例如,考慮字串「abcßDeF」,其格摺疊為「abcssdef」。 此字串有以下細緻的編輯:<ul><li>abc ⇨ abc(不變) <li>ß ⇨ ss(變化) <li>D ⇨ d(變化) <li>e ⇨ e(不變) <li>f ⇨ f(變化) </ul> 以及以下粗略編輯(注意相鄰變化編輯如何合併):<ul><li abc>⇨ abc(不變) <li>ßD ⇨ ssd(變化) <li>e ⇨ e(不變) <li>F ⇨ f(變化) </ul>
「細微變更」和「粗略變更」的迭代器只會在呼叫方法 Edits.Iterator#next() 時逐步處理變更編輯。 當使用不變Edits.Iterator#findSourceIndex(int)Edits.Iterator#findDestinationIndex(int)迭代器的方法來走過字串時,它們與非變更迭代子相同。
關於如何使用此類別的範例,請參閱 UCharacterCaseTest.java 的測驗 TestCaseMapEditsIteratorDocs 。
Java 文件 android.icu.text.Edits。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Edits() |
建構一個空物體。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| CoarseChangesIterator |
回傳粗粒度變更編輯的迭代器(相鄰的變更編輯視為迭代器)。 |
| CoarseIterator |
對於粗粒度變更與無變更編輯(相鄰變更編輯視為迭代器)回傳迭代器。 |
| FineChangesIterator |
對於細粒度變更編輯,回傳迭代器(保留完整細度變更編輯)。 |
| FineIterator |
對於細粒度變更與無變更編輯(保留完整細度變更編輯)會回傳迭代器。 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| HasChanges |
記錄字串編輯的長度,但不記錄替換文字。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
記錄字串編輯的長度,但不記錄替換文字。 (繼承來源 JavaObject) |
| JniPeerMembers |
記錄字串編輯的長度,但不記錄替換文字。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| AddReplace(Int32, Int32) |
新增一個變更編輯:為文字替換/插入/刪除建立紀錄。 |
| AddUnchanged(Int32) |
新增一個無變更編輯:為未更改的文字段建立紀錄。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
記錄字串編輯的長度,但不記錄替換文字。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
記錄字串編輯的長度,但不記錄替換文字。 (繼承來源 JavaObject) |
| Equals(Object) |
記錄字串編輯的長度,但不記錄替換文字。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| LengthDelta() |
新文本比舊文本長多久? |
| MergeAndAppend(Edits, Edits) |
合併兩個輸入的編輯,並將結果附加到這個物件上。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| NumberOfChanges() |
記錄字串編輯的長度,但不記錄替換文字。 |
| Reset() |
會重置資料,但可能不會釋放記憶體。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
記錄字串編輯的長度,但不記錄替換文字。 (繼承來源 JavaObject) |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| 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() |
記錄字串編輯的長度,但不記錄替換文字。 (繼承來源 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) |
試著強制 |