Ir ao conteúdo
  • Cadastre-se

String


Visitante

Posts recomendados

Olá, qual a diferença entre declarar strings das duas formas abaixo:

 

1. String texto; 

2. String texto = new String();

 

Se String é uma classe, porque posso fazer da 1o forma, como se fosse um tipo primitivo?

Link para o comentário
Compartilhar em outros sites

"String texto;"

Isto é uma declaração não inicializada, caso você tente acessar esta variável sem atribuir nenhum valor irá receber um erro de compilador. Neste caso, utilize uma das formas abaixo.

 

"String texto = new String();"

Isto é uma declaração inicializada, assim como:

- String texto = null;

- String texto = "super texto";

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

na vdd EU ACHO que todos os "tipos primitivos" são classes... e criaram a primeira sintaxe que você citou pra facilitar a implementação 

 

// alguns exemplos
String teste = new String("teste");
Integer num = new Integer(90);
Boolean val = new Boolean(false);
Double num2 = new Double(100.80);

 

Link para o comentário
Compartilhar em outros sites

Tipos primitivos não são classes, eles podem sofrer autoboxing para as classes equivalentes.

 

Tipos primitivos são tipos especiais, com regras específicas, como tamanho fixo, imutáveis, operações diretas. A classe String, apesar de não ser um tipo primitivo, também possui algumas regras.

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, Cweiler disse:

 

Tipos primitivos não são classes, eles podem sofrer autoboxing para as classes equivalentes.

 

Tipos primitivos são tipos especiais, com regras específicas, como tamanho fixo, imutáveis, operações diretas. A classe String, apesar de não ser um tipo primitivo, também possui algumas regras.

 

 

 

então falei besteira kkkkkkkkkkk

Link para o comentário
Compartilhar em outros sites

23 horas atrás, nanquinote disse:

@Nikowlowisky ,

 

Acho que deve ser isso mesmo

 

@nanquinote, não é isso. Implementação, no contexto da conversa, teria a ver com a implementação do compilador Java, sendo que esta sintaxe foi copiada da linguagem C/C++. A diferença de C para Java é que, em C, toda a declaração não inicializada recebe um valor default, o que não acontece em Java.

 

Ou seja, conforme a sua pergunta "Qual a diferença", as 2 formas de declaração não são compatíveis, muito pelo contrário, são completamente diferentes para o compilador.

 

A resposta para a sua pergunta está na 2ª postagem deste tópico, caso não tenha entendido bem pode perguntar mais.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...