Melhora de sintaxe das descrições e código. (#25652)

This commit is contained in:
Eduardo Nunes
2019-08-14 20:03:18 -03:00
committed by Randell Dawson
parent 629c77444d
commit 7c29d14903

View File

@ -24,7 +24,7 @@ Você pode criar um objeto String das seguintes maneiras:
Você pode estar pensando: qual é a diferença entre os três? Você pode estar pensando: qual é a diferença entre os três?
Bem, o uso da `new` palavra-chave garante que um novo objeto `String` será criado e um novo local de memória será alocado no `Heap` memória [(clique aqui para saber mais)](https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garbage_collect.html) . Corda literais e constantes As expressões String são armazenadas em cache no momento da compilação. O compilador coloca-os no conjunto literal de cadeias para evitar duplicatas e melhorar o consumo de memória. A alocação de objetos é cara e esse truque aumenta o desempenho enquanto instancia Strings. Se você usar o mesmo literal novamente, a JVM usa o mesmo objeto. Usar o contructor como acima é quase sempre uma escolha pior. Bem, o uso da palavra-chave `new` garante que um novo objeto `String` será criado e um novo local de memória será alocado no `Heap` memória [(clique aqui para saber mais)](https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garbage_collect.html). Corda literais e constantes As expressões String são armazenadas em cache no momento da compilação. O compilador os coloca no conjunto literal de cadeias para evitar duplicatas e melhorar o consumo de memória. A alocação de objetos é cara e esse truque aumenta o desempenho enquanto instancia Strings. Se você usar o mesmo literal novamente, a JVM usa o mesmo objeto. Usar o contructor como acima é quase sempre uma escolha pior.
Nesse trecho de código, quantos objetos String são criados? Nesse trecho de código, quantos objetos String são criados?
@ -34,7 +34,7 @@ String str = "This is a string";
String str3 = new String("This is a string"); String str3 = new String("This is a string");
``` ```
A resposta é: 2 objetos String são criados. `str` e `str2` referem-se ao mesmo objeto. `str3` tem o mesmo conteúdo, mas usando `new` forçadas a criação de um novo objeto distinto. A resposta é: 2 objetos String são criados. `str` e `str2` referem-se ao mesmo objeto. `str3` tem o mesmo conteúdo, mas usando `new` força a criação de um novo objeto distinto.
Quando você cria um literal String, a JVM verifica internamente, o que é conhecido como o `String pool` , para ver se ele pode encontrar um semelhante (conteúdo sábio) Objeto String. Se encontrar, retorna a mesma referência. Caso contrário, basta ir em frente e cria um novo objeto String no pool para que a mesma verificação pode ser realizada no futuro. Quando você cria um literal String, a JVM verifica internamente, o que é conhecido como o `String pool` , para ver se ele pode encontrar um semelhante (conteúdo sábio) Objeto String. Se encontrar, retorna a mesma referência. Caso contrário, basta ir em frente e cria um novo objeto String no pool para que a mesma verificação pode ser realizada no futuro.
@ -50,7 +50,6 @@ Aqui está outro exemplo de como criar uma string em Java usando os diferentes m
```java ```java
public class StringExample{ public class StringExample{
public static void main(String args[]) { public static void main(String args[]) {
String s1 = "java"; // creating string by Java string literal String s1 = "java"; // creating string by Java string literal
char ch[] = {'s','t','r','i','n','g','s'}; char ch[] = {'s','t','r','i','n','g','s'};
@ -89,7 +88,6 @@ Temos vários métodos internos em String. A seguir, um exemplo do método Strin
```java ```java
public class StringDemo { public class StringDemo {
public static void main(String args[]) { public static void main(String args[]) {
String palindrome = "Dot saw I was Tod"; String palindrome = "Dot saw I was Tod";
int len = palindrome.length(); int len = palindrome.length();
@ -136,5 +134,4 @@ String a = "Sam";
System.out.println(a.compareTo(b)); // 0 System.out.println(a.compareTo(b)); // 0
System.out.prinltn(a.compareTo(c)); // 1 since (a>b) System.out.prinltn(a.compareTo(c)); // 1 since (a>b)
System.out.println(c.compareTo(a)); // -1 since (c<a) System.out.println(c.compareTo(a)); // -1 since (c<a)
``` ```