Sobes.tech
Intern

Qual é a diferença entre tipos de dados primitivos e de referência?

sobes.tech IA

Resposta da IA

Os tipos de dados primitivos em Android (e Java) são tipos básicos que armazenam valores diretamente na memória. Incluem int, boolean, char, float e outros. Eles ocupam um tamanho fixo de memória e não contêm métodos.

Os tipos de referência são objetos que são armazenados no heap, e a variável contém uma referência (endereço) ao objeto. Exemplos: classes, arrays, interfaces.

Principais diferenças:

  • Armazenamento: os primitivos são armazenados diretamente na variável, as referências no endereço do objeto.
  • Passagem: os primitivos são passados por valor, as referências por valor de referência (ou seja, o endereço é copiado).
  • Mutabilidade: os primitivos são imutáveis, os objetos podem ser mutáveis.
  • Memória: os primitivos ocupam menos memória, os objetos mais.

Por exemplo:

int a = 5; // primitivo
String s = "Hello"; // tipo de referência

Compreender a diferença é importante para gerir a memória e o comportamento dos programas.