Classe String

8 respostas
5

Pessoal,

Tenho uma dúvida, quando eu defino um atributo do tipo String, para adicionar valor eu devo fazer da seguinte forma:

String a = new String();

Para instanciar a classe String na memória, mas eu consigo utilizar o atríbuto “a” sem instanciar a classe String na memória e funciona. Gostaria de saber porquê isso acontece. Aguardo retorno. Obrigado.

Anderson Luis Ribeiro

8 Respostas

Alkamavo
String a= null
5

Não entendi, será que daria para explicar melhor?

fiaux

Coisas interessantes sobre a classe String http://www.guj.com.br/java.tutorial.artigo.103.1.guj

B

Você consegue usar um objeto sem instanciá-lo na memória?

Pelo que eu saiba isso não é possível, já que objetos são iniciados com null quando declarados.

Você pode escrever um programa/classe simples e demonstrar isso?

5

Sim, claro,

public class teste{

public static void main (String Args[]){

String a;
a = JOptionPane.showImputiDialog("Digite uma String");
  JOptionPane.showMessageDialog(null,"A mensagem digitada foi" + a);

}

}

wesley.comput

Deixe eu ver se entendi

Você quer saber porque eu posso inicializar o objeto do tipo String das seguintes formas:

String s = new String();
s = "teste";

ou

String s = "teste";

Na prática são formas diferentes de se criar objetos do tipo String e ambas vão funcionar corretamente, agora com relação a uso de memória, processamento, etc, acho que não muda em nada a performance.

Outros exemplo:

char[] ch = new char[]{'t','e','s','t','e'};
String s = new String(ch);
String s = new String("teste");

String s = new String(new char[]{‘t’,‘e’,‘s’,‘t’,‘e’});

e assim vai...
5

Eu não tenho que usar a palavra new para instanciar uma classe na memória? Sendo assim creio que se eu mencionar semente o tipo e o identificador do atributo não conseguirei instanciar a mesma. E se eu não consigo instanciar, como eu consigo acessar todos os métodos public ca classe String?

B
504843:
Sim, claro,
public class teste{
   public static void main (String Args[]){
      String a;

      a = JOptionPane.showImputiDialog("Digite uma String"); //<< showInputDialog instancia um String para você.
      JOptionPane.showMessageDialog(null,"A mensagem digitada foi" + a);
   }

}
Criado 12 de maio de 2008
Ultima resposta 12 de mai. de 2008
Respostas 8
Participantes 5