Neste tutorial aprenderemos como trabalhar com strings em Java. Strings, tão amplamente utilizadas em programação, são uma sequência de caracteres. Na linguagem de programação Java, strings são um objeto. A plataforma Java fornece uma classe
String
para criar e manipular strings.
Criando Strings
A maneira mais simples de criar uma string é assim:String greeting = "Hello world!";
Neste caso, “Olá, mundo!” é uma string literal (ou seja, uma constante) que consiste em uma sequência de caracteres entre aspas. Sempre que o compilador encontra uma string literal, ele cria um objeto do tipo String
com um valor, no nosso caso, "Hello World!". Como qualquer outro objeto, uma string pode ser criada usando a palavra-chave new
. A classe String
possui três construtores que permitem criar um objeto usando diferentes fontes, como um array de caracteres .
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
A última linha do exemplo imprimirá hello na tela . A classe String
é imutável, portanto, uma vez criado um objeto, não podemos alterá-lo. Alguns métodos que veremos a seguir podem corrigir isso. Porque String
imutáveis, esses métodos criam e retornam uma nova string contendo o resultado da operação.
Comprimento da string Java
Os métodos para obter informações sobre uma string são chamados de métodos de acesso. Um desses métodoslength()
. Ele retorna o número de caracteres da string. No exemplo a seguir len
será 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
A variável palindrome
contém um palíndromo, ou seja, uma palavra ou frase que tem a mesma leitura nos dois sentidos. Vamos escrever um pequeno programa que irá reverter um palíndromo. Usaremos o método charAt(i)
, que retorna o i -ésimo caractere da string, começando com 0
.
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
//создадим из строки
// массив символов
for (int i = 0; i < len; i++) {
tempCharArray[i] =
palindrome.charAt(i);
}
// перевернем массив символов
for (int j = 0; j < len; j++) {
charArray[j] =
tempCharArray[len - 1 - j];
}
String reversePalindrome =
new String(charArray);
System.out.println(reversePalindrome);
}
}
O programa irá imprimir
doT saw I was toD
Para reverter uma string, primeiro criamos um array de caracteres a partir da string (o primeiro loop), depois criamos um novo array no qual escrevemos o primeiro array invertido e, em seguida, criamos uma nova string. A classe String
contém um método getChars()
que retorna um array de caracteres, então o primeiro loop pode ser substituído pela linha:
palindrome.getChars(0, len, tempCharArray, 0);
Concatenação de strings
A classeString
implementa um método para concatenar duas strings:
string1.concat(string2);
Este código retornará uma nova string contendo string1
e anexada a ele string2
. Você também pode usar este método com literais de string:
"My name is ".concat("Rumplestiltskin");
Na maioria das vezes, as strings são unidas usando o +
operador “”, exemplo:
"Hello," + " world" + "!"
O resultado será a string “ Olá, mundo!” " O +
operador " " é amplamente utilizado para exibir informações, por exemplo:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
O código produzirá " Dot viu que eu era Tod ". Essa concatenação pode ser usada em conjunto com quaisquer outros objetos. Para objetos que não são strings, será chamado o método toString()
, que os converte em strings. Configurando o formato de saída da string Já vimos métodos printf()
quando format()
formatamos a saída de números. A classe String
possui um método semelhante que retorna uma string. Usando um método estático format()
é possível criar um modelo de estoque que pode ser reutilizado, por exemplo:
System.out.printf ("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, "
"and the string is %s",
floatVar, intVar, stringVar);
você pode usar este código:
String fs;
fs = String.format("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, " +
" and the string is %s",
froatVar, intVar, stringVar);
System.out.println(fs);
Isso é tudo! :) Link para a fonte: Strings em Java
GO TO FULL VERSION