1 2 3 |
public final class <strong>Character</strong> extends <a href="https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Object.html">Object</a> implements <a href="https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/io/Serializable.html">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Comparable.html">Comparable</a><<a href="https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Character.html">Character</a>> |
A classe Character agrupa um valor do tipo primitivo char em um objeto. Um objeto da classe Character contém um único campo cujo tipo é char.
Além disso, essa classe fornece um grande número de métodos estáticos para determinar a categoria de um caractere (letra minúscula, dígito etc.) e converter caracteres de maiúsculas para minúsculas e vice-versa.
Conformidade Unicode
Os campos e métodos da classe Character são definidos em termos de informações de caracteres do Unicode Standard, especificamente o arquivo UnicodeData que faz parte do banco de dados de caracteres Unicode. Este arquivo especifica propriedades, incluindo nome e categoria, para cada ponto de código Unicode atribuído ou intervalo de caracteres. O arquivo está disponível no Unicode Consortium em http://www.unicode.org.
As informações de caracteres são baseadas no padrão Unicode, versão 12.1.
Representações de caracteres Unicode
O tipo de dados char (e, portanto, o valor que um objeto Character encapsula) é baseado na especificação Unicode original, que definia caracteres como entidades de 16 bits de largura fixa.
O Padrão Unicode foi alterado para permitir caracteres cuja representação requer mais de 16 bits. O intervalo de pontos de código legais agora é de U + 0000 a U + 10FFFF, conhecido como valor escalar Unicode. (Consulte a definição da notação U + n no Padrão Unicode.)
O conjunto de caracteres de U + 0000 a U + FFFF às vezes é chamado de Plano Multilíngue Básico (BMP). Caracteres cujos pontos de código são maiores que U + FFFF são chamados caracteres suplementares.
A plataforma Java usa a representação UTF-16 em matrizes de caracteres e nas classes String e StringBuffer. Nesta representação, caracteres suplementares são representados como um par de valores de caracteres, o primeiro do intervalo de substitutos altos (\ uD800- \ uDBFF), o segundo do intervalo de substitutos baixos (\ uDC00- \ uDFFF).
Um valor de char, portanto, representa os pontos de código do Plano Multilíngue Básico (BMP), incluindo os pontos de código substitutos ou as unidades de código da codificação UTF-16.
Um valor int representa todos os pontos de código Unicode, incluindo pontos de código suplementares. Os 21 bits inferiores (menos significativos) de int são usados para representar os pontos de código Unicode e os 11 bits superiores (mais significativos) devem ser zero.
Salvo indicação em contrário, o comportamento em relação a caracteres suplementares e valores substitutos de caracteres é o seguinte:
- Os métodos que aceitam apenas um valor de caracteres não podem suportar caracteres suplementares. Eles tratam valores de caracteres dos intervalos substitutos como caracteres indefinidos. Por exemplo, Character.isLetter (‘\ uD840’) retorna false, mesmo que esse valor específico, se seguido por qualquer valor de substituição baixa em uma sequência, represente uma letra.
- Os métodos que aceitam um valor int suportam todos os caracteres Unicode, incluindo caracteres suplementares. Por exemplo, Character.isLetter (0x2F81A) retorna true porque o valor do ponto de código representa uma letra (um ideograma CJK).
Na API do Java SE, o código de código Unicode é usado para valores de caracteres sem intervalo entre U + 0000 e U + 10FFFF, e a unidade de código Unicode é usada para valores de caracteres de 16 bits que são unidades de código de código UTF-16. Para obter mais informações sobre terminologia Unicode, consulte Glossário Unicode.
Essa classe existe desde a versão 1.0 do Java.
Veja também:
Fonte: https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Character.html
Deixe um comentário