2013-04-20 18 views
7

Prima cosa voglio chiarire qui, questa domanda è a causa della curiosità. Non sto affrontando alcun problema.È possibile creare un nuovo tipo di dati primitivo in Java

Ci sono molti tipi primitivi disponibili in Java byte, short, int, ecc Ora supponiamo che io voglio creare un nuovo tipo primitivo (ad esempio mediumint o qualsiasi altra cosa). Possiamo farlo? Se sì allora come?

risposta

8

I tipi primitivi sono quelli definiti dalla lingua stessa. In Java è possibile definire solo nuovi tipi come Classes tutti derivati ​​dalla classe di base comune denominata Object.

+1

cosa gli impedisce di giocare con il codice originale? –

+8

È possibile creare problemi con l'origine di una JVM, ma non sarebbe Java poiché Java è definito dalle specifiche del linguaggio Java (http://docs.oracle.com/javase/specs/) – dtech

+1

In aggiunta alla risposta: in alcune lingue simili (ad esempio C#) è possibile definire i propri oggetti che vengono passati per valore (http://msdn.microsoft.com/en-us/library/s1ax56ch(v=vs.110).aspx), che assomigliano primitivi in ​​qualche modo. Ma in Java non puoi. – dtech

1

Semplicemente No, non è possibile creare tipo di dati primitivi.

Tipo di dati primitivo indica che sono forniti ed esistono nella funzione lingua. Fondamentalmente Java supporta questo per motivi di prestazioni ed esegue operazioni aritmetiche.

È possibile creare un tipo di dati definito dall'utente utilizzando il concetto di class e object.

4

Si potrebbe, ma non sarebbe più Java.

0

Tutti si sbagliano. Sì. Puoi. Come regola, non è necessario un tipo primitivo completamente nuovo. Quindi, non è necessario ricostruire JVM. Di solito, devi solo "impacchettare" o "castare" il tuo nuovo tipo primitivo a un esistente e definire alcune operazioni come "+" con il suo wrapper.

È possibile farlo in modo relativamente semplice con JVM originale, ma con il proprio compilatore Java. Buona fortuna!

Problemi correlati