Método de Encadeamento
É comum chamar vários métodos na mesma String, conforme mostrado aqui:
String start = "AniMaL ";
String trimmed = start.trim(); // "AniMaL"
String lowercase = trimmed.toLowerCase(); // "animal"
String result = lowercase.replace('a', 'A'); // "Animal"
System.out.println(result);
Esta é apenas uma série de métodos String. Cada vez que um é chamado, o valor retornado é colocado em uma nova variável. Existem quatro valores String ao longo do caminho e AnimAl é gerado.
No entanto, no exame, há uma tendência para colocar o maior número possível de códigos em um pequeno espaço. Você verá o código usando uma técnica chamada encadeamento de métodos. Aqui está um exemplo:
String result = "AniMaL ".trim().toLowerCase().replace('a', 'A');
System.out.println(result);
Este código é equivalente ao exemplo anterior. Também cria quatro objetos String e a saída AnimAl. Para ler o código que usa o encadeamento de métodos, comece à esquerda e avalie o primeiro método. Em seguida, chame o próximo método no valor retornado do primeiro método. Manter indo até chegar ao ponto e vírgula.
Lembre-se que String é imutável. O que você acha que o resultado deste código é?
5: String a = "abc";
6: String b = a.toUpperCase();
7: b = b.replace("B", "2").replace('C', '3');
8: System.out.println("a=" + a);
9: System.out.println("b=" + b);
Na linha 5, montamos um para apontar para "abc" e nunca apontou um para qualquer outra coisa. Desde que somos lidando com um objeto imutável, nenhum dos códigos nas linhas 6 ou 7 muda a. b é um pouco mais complicado. A linha 6 tem b apontando para "ABC" , que é simples. Na linha 7, temos encadeamento de métodos. Primeiro, " ABC" .replace ("B", "2") é chamado. Isso retorna "A2C". Em seguida, "A2C" .replace ("'C', '3') é chamado. Isso retorna " A23 " . Finalmente, b muda para ponto para esta string retornada . Quando a linha 9 é executada, b é "A23" .