Qual è il contrario del primitivo?

6

In java, int , byte e boolean sono primitive, mentre String no.

Questo può essere contrastato con c dove string è una primitiva (essenzialmente una matrice di char s).

Qual è il termine per i tipi che non sono primitivi?

    
posta dwjohnston 09.04.2015 - 06:21
fonte

1 risposta

10

Il termine più generale (agnostico della lingua) è un tipo di dati compositi .

In Java esistono diversi tipi di tipi di dati compositi, la più ovvia è una Classe ma un Enum sarebbe un altro esempio.

Un tipo in scatola è un altro termine correlato, che è una primitiva racchiusa in una classe per fornire un'interfaccia orientata agli oggetti. Esempi di questo in Java sono un int contro un Integer o un char contro un Character .

In java, int, byte and boolean are primitives, while String is not.

Un String è in realtà un tipo in scatola. Sotto il cofano è implementato come un array di caratteri come C e potresti anche usare un array di caratteri, se lo desideri. Ovviamente la maggior parte delle persone non lo fa perché non avrai nessuna delle pratiche astrazioni fornite dalla classe String .

Ecco come La classe java.lang.String è implementata in openjdk:

/** The value is used for character storage. */
private final char value[];

Come puoi vedere, non c'è niente di speciale in una stringa in Java.

    
risposta data 09.04.2015 - 06:59
fonte

Leggi altre domande sui tag