Idioma

ICharacterIterator Interface

Definição

Essa interface define um protocolo para iteração bidirecional por texto.

[Android.Runtime.Register("java/text/CharacterIterator", "", "Java.Text.ICharacterIteratorInvoker")]
public interface ICharacterIterator : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/text/CharacterIterator", "", "Java.Text.ICharacterIteratorInvoker")>]
type ICharacterIterator = interface
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Derivado
Atributos
Implementações

Comentários

Essa interface define um protocolo para iteração bidirecional por texto. O iterador itera em uma sequência limitada de caracteres. Os caracteres são indexados com valores que começam com o valor retornado por getBeginIndex() e continuam por meio do valor retornado por getEndIndex()-1.

Os iteradores mantêm um índice de caracteres atual, cujo intervalo válido é de getBeginIndex() a getEndIndex(); o valor getEndIndex() é incluído para permitir o tratamento de intervalos de texto de comprimento zero e por motivos históricos. O índice atual pode ser recuperado chamando getIndex() e definido diretamente chamando setIndex(), first() e last().

Os métodos previous() e next() são usados para iteração. Eles retornam DONE se se moverem para fora do intervalo de getBeginIndex() para getEndIndex() -1, sinalizando que o iterador atingiu o final da sequência. DONE também é retornado por outros métodos para indicar que o índice atual está fora desse intervalo.

Exemplos:

Percorrer o texto do início ao fim

{@code
            public void traverseForward(CharacterIterator iter) {
                for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
                    processChar(c);
                }
            }
            }

Percorra o texto para trás, de ponta a ponta

{@code
            public void traverseBackward(CharacterIterator iter) {
                for(char c = iter.last(); c != CharacterIterator.DONE; c = iter.previous()) {
                    processChar(c);
                }
            }
            }

Percorra para frente e para trás de uma determinada posição no texto. As chamadas para notBoundary() neste exemplo representam alguns critérios de interrupção adicionais.

{@code
            public void traverseOut(CharacterIterator iter, int pos) {
                for (char c = iter.setIndex(pos);
                         c != CharacterIterator.DONE && notBoundary(c);
                         c = iter.next()) {
                }
                int end = iter.getIndex();
                for (char c = iter.setIndex(pos);
                        c != CharacterIterator.DONE && notBoundary(c);
                        c = iter.previous()) {
                }
                int start = iter.getIndex();
                processSection(start, end);
            }
            }

Adicionado em 1.1.

Java documentação para java.text.CharacterIterator.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Campos

Nome Description
Done

Constante retornada quando o iterador atinge o final ou o início do texto.

Propriedades

Nome Description
BeginIndex

Retorna o índice de início.

EndIndex

Retorna o índice final.

Handle

Obtém o valor JNI do objeto Android subjacente.

(Herdado de IJavaObject)
Index

Retorna o índice atual.

JniIdentityHashCode

Retorna o valor da java.lang.System.identityHashCode() instância encapsulada.

(Herdado de IJavaPeerable)
JniManagedPeerState

Estado do par gerenciado.

(Herdado de IJavaPeerable)
JniObjectReferenceControlBlock

Essa interface define um protocolo para iteração bidirecional por texto.

(Herdado de IJavaPeerable)
JniPeerMembers

Acesso ao membro e suporte à invocação.

(Herdado de IJavaPeerable)
PeerReference

Retorna uma JniObjectReference das instâncias de objeto Java encapsuladas.

(Herdado de IJavaPeerable)

Métodos

Nome Description
Clone()

Criar uma cópia desse iterador

Current()

Obtém o caractere na posição atual (conforme retornado por getIndex()).

Disposed()

Chamado quando a instância foi descartada.

(Herdado de IJavaPeerable)
DisposeUnlessReferenced()

Se não houver referências pendentes a essa instância, então chamará Dispose(); caso contrário, não fará nada.

(Herdado de IJavaPeerable)
Finalized()

Chamado quando a instância foi finalizada.

(Herdado de IJavaPeerable)
First()

Define a posição para getBeginIndex() e retorna o caractere nessa posição.

Last()

Define a posição para getEndIndex()-1 (getEndIndex() se o texto estiver vazio) e retorna o caractere nessa posição.

Next()

Incrementa o índice do iterador por um e retorna o caractere no novo índice.

Previous()

Diminui o índice do iterador por um e retorna o caractere no novo índice.

SetIndex(Int32)

Define a posição para a posição especificada no texto e retorna esse caractere.

SetJniIdentityHashCode(Int32)

Defina o valor retornado por JniIdentityHashCode.

(Herdado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Essa interface define um protocolo para iteração bidirecional por texto.

(Herdado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Defina o valor retornado por PeerReference.

(Herdado de IJavaPeerable)
UnregisterFromRuntime()

Cancele o registro dessa instância para que o runtime não a retorne de invocações futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Herdado de IJavaPeerable)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Essa interface define um protocolo para iteração bidirecional por texto.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a