Classe Character #1

Tempo de leitura: 3 min

Escrito por Michel Adriano Medeiros
em 07/06/2020

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:

Serialized Form

Fonte: https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Character.html

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro