Originariamente inviato da valia
il tipo primitivo non è un oggetto e non è un derivato da object.
E' la rappresentazione dei comuni tipi di dati a tutti i linguaggi.
Dalla versione 6 di java

codice:
int test = 4; 

if (test instanceof Integer) System.out.println("true");
else System.out.println("false");
dovresti avere true visto che c'è il boxing/unboxing automatico dei tipi primitivi
L'autoboxing non c'entra nulla con l'operatore instanceof, in quanto, a sinistra richiede esplicitamente un riferimento ad un oggetto:
codice:
5 instanceof Object // Non consentito
new Integer(5) instanceof Object // Consentito
perchè, l'operatore new invocando il costruttore della classe Integer ne crea una istanza allocando memoria e restituisce il riferimento.