Sobes.tech
Junior

Um array é um primitivo ou um objeto?

sobes.tech IA

Resposta da IA

Em Java, os arrays são objetos.

Aqui estão as principais razões:

  • Herdam de Object: Todos os arrays herdam implicitamente da classe Object e têm acesso aos seus métodos, como clone(), equals(), hashCode(), toString().
  • São criados com new: Os arrays são criados usando a palavra-chave new, assim como outros objetos.
    // Criação de um array de inteiros
    int[] numbers = new int[10];
    
  • Têm um campo length: Os arrays têm um campo público e final length, que armazena o tamanho do array. Os tipos primitivos não têm esses campos.
    // Acesso ao tamanho do array
    int size = numbers.length;
    
  • São armazenados no heap: Os arrays, assim como os objetos, são armazenados no heap. Os tipos primitivos são armazenados na stack (pilha) (exceto quando são campos de objetos).

Embora os elementos do array possam ser tipos primitivos, o próprio container — o array — é um objeto.