A classe String faz parte do pacote lang e existe desde a versão 1 do Java, do Java 9 em diante esse pacote e a classe String estão no módulo java.base.
A classe String tem as seguinte implementações de interfaces: Serializable
, CharSequence
, Comparable<String>
, Constable
, ConstantDesc
Estrutura da classe String:
1 |
public final class String extends Object implements Serializable, Comparable<String>, CharSequence, Constable, ConstantDesc |
A classe String representa cadeias de caracteres. Todos os literais de cadeia de caracteres nos programas Java, como “abc”, são implementados como instâncias dessa classe.
Strings são constantes; seus valores não podem ser alterados após serem criados. Buffers de string suportam strings mutáveis.
Como os objetos String são imutáveis, eles podem ser compartilhados. Por exemplo:
1 |
String str = "abc"; |
é equivalente a:
1 2 |
char data[] = {'a', 'b', 'c'}; String str = new String(data); |
Aqui estão mais alguns exemplos de como as strings podem ser usadas:
1 2 3 4 5 |
System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2, 3); String d = cde.substring(1, 2); |
A classe String inclui métodos para examinar caracteres individuais da sequência, para comparar strings, pesquisar strings, extrair substrings e criar uma cópia de uma string com todos os caracteres traduzidos para maiúsculas ou minúsculas.
O mapeamento de caso é baseado na versão Padrão Unicode especificada pela classe Caractere.
A linguagem Java fornece suporte especial para o operador de concatenação de cadeias (+) e para a conversão de outros objetos em cadeias.
Para obter informações adicionais sobre concatenação e conversão de cadeias, consulte The Java ™ Language Specification.
Salvo indicação em contrário, passar um argumento nulo para um construtor ou método nesta classe fará com que um NullPointerException seja lançado.
Uma String representa uma string no formato UTF-16, na qual caracteres suplementares são representados por pares substitutos (consulte a seção Representações de caracteres Unicode na classe Character para obter mais informações).
Os valores do índice referem-se a unidades de código de caracteres, portanto, um caractere complementar usa duas posições em uma String.
A classe String fornece métodos para lidar com pontos de código Unicode (ou seja, caracteres), além daqueles para lidar com unidades de código Unicode (ou seja, valores de caracteres).
Salvo indicação em contrário, os métodos para comparar Strings não levam em consideração o código do idioma. A classe Collator fornece métodos para comparação de sequências mais finas e sensíveis à localidade.
Nota de Implementação
A implementação do operador de concatenação de cadeias é deixada ao critério de um compilador Java, desde que o compilador esteja em conformidade com The Java ™ Language Specification.
Por exemplo, o compilador javac pode implementar o operador com StringBuffer, StringBuilder ou java.lang.invoke.StringConcatFactory, dependendo da versão do JDK.
A implementação da conversão de cadeias geralmente é feita pelo método toString, definido por Object e herdado por todas as classes em Java.
Fonte: https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html
Deixe um comentário