String 2
Java String
Vamos nos aprofundar no assunto sobre Java String. Venha comigo mergulhar no tema e descobrir suas peculiaridades, seus diferentes métodos e detalhar sobre o uso dos mais importantes.
O que é uma String?
Em Java, uma String (como quase tudo em Java) é basicamente um object que representa um array de caracteres (char's). Um array de caracteres funciona da mesma forma que uma String em Java. Por exemplo:
char[] ch = {'i', 'z', 'a', ' ', 't', 'e', 'c'};
String str = new String(str);
É o mesmo que:
String str = "iza tec";
A classe java.lang.String implementa as interfaces Serializable, Comparable e CharSequence

Interface CharSequence
As classes String, StringBuffer e StringBuilder implementão a interface CharSequence que é usada para representar uma sequência de caracteres. Em outras palavras podemos usar essas três classes para criar Strings em Java.

Como criar um objeto Java String?
A classe java.lang.String é usada para criar um objeto do tipo String.
Há duas maneiras de criar um objeto String:
- Por String literal
- Por uma nova palavra-chave
1 - String literal
Java String literal é criada usando aspas duplas (""), por exemplo:
String s = "IzaTec";

No exemplo acima, apenas um objeto será criado. Primeiramente, a JVM não encontrará nenhum objeto String com o valor "IzaTec" no local de memória específico, e por isso irá criar um novo objeto. Depois disso, irá encontrar a string com o valor "IzaTec" na memória, o que fará com que não seja criado um novo objeto, mas retornará a referência da mesma instância.
2 - Por meio de novas palavra-chave
String s = new String("IzaTec"); // cria dois objetos e uma referência à variavel
Nesse caso, a JVM criará um novo objeto String na memória heap normal (fora do pool) e o literal "IzaTec" será colocado na "string constant pool". A variável s referenciará o objeto na heap (fora do pool).
Exemplo Java String
pubic class Exemplo{
public static void main(String args[]){
String s1 = "izaTec"; // cria uma string usando literal
char ch[] = {'i','z','a'};
String s2 = new String(ch); // converte array de char's em string
String s3 = new String("IzaTec"); // cria string java por palavra-chave
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}
Saída:
izaTec
iza
IzaTec
Métodos de instância
toLowerCase()
O que é e como funciona
Como vimos antes no artigo sobre O que é String. A classe String em Java fornece uma vasta gama de métodos para manipulação de cadeias de caracteres. Um dos métodos mais utilizados é o toLowerCase(), que é usado para converter todos os caracteres de uma string para letras minúsculas. Este artigo explora o funcionamento deste método, sua utilização e as considerações que devem ser feitas ao usá-lo.
O que é o método toLowerCase()
O método toLowerCase() é um método da classe String que retorna uma nova string com todos os caracteres convertidos para minúsculas. Este método é útil quando se deseja realizar comparações de strings sem levar em consideração a diferença entre maiúsculas e minúsculas, ou quando se precisa padronizar o formato dos dados de entrada.
Sintaxe
Existem duas variantes do método toLowerCase():
1 - public String toLowerCase()
2 - public String toLowerCase(Locale locale)
Como funciona
O método toLowerCase() percorre cada caractere da string original e, se o caractere for uma letra maiúscula, ele converte para a letra minúscula correspondente. Os caracteres que não são letras (como números e sinais de pontuação) permanecem inalterados.
Uso com Locale
Para conversões específicas de configurações regionais, pode-se usar a segunda variante do método toLowerCase(Locale locale). Isso é importante em idiomas onde a transformação de maiúsculas para minúsculas pode variar.
public class Main {
public static void main(String[] args) {
String original = "IZA TEC";
String lowerCase = original.toLowerCase();
System.out.println(lowerCase); // Saída: iza tec
}
}
Considerações importantes
- Imutabilidade das Strings: Em Java, as strings são imutáveis, ou seja, qualquer método que aparentemente modifica uma string na verdade retorna uma nova string. Portanto, toLowerCase() não altera a string original, mas retorna uma nova string com as alterações.
- Performance: Se for necessário converter uma string para minúsculas múltiplas vezes, considere armazenar o resultado da conversão para evitar chamadas repetitivas ao método.
- Internacionalização: Ao trabalhar com aplicações que precisam suportar múltiplos idiomas, é essencial utilizar a variante de toLowerCase() que aceita um Locale para garantir que a conversão seja feita corretamente conforme as regras de cada idioma.