Ir ao conteúdo

Posts recomendados

Postado

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?

Postado

"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
Postado

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);

 

Postado

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.

Postado
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

Postado
Em 18/11/2016 às 17:54, Nikowlowisky disse:

... e criaram a primeira sintaxe que você citou pra facilitar a implementação 

@Nikowlowisky ,

 

Acho que deve ser isso mesmo

Postado
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.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!