View Full Version : [java] Record
ciao,
da quel poco che che so in java non ci sono strutture di tipo record,
se io volessi implementere un vettore che contiene tipi differenti ( long e double) come potrei fare?
grazie mille
se io volessi implementere un vettore che contiene tipi differenti ( long e double) come potrei fare?Per "vettore" intendi l'array classico es. long[] oppure un oggetto di tipo Vector???
Comunque non è difficile, puoi usare le classi "wrapper" dei tipi primitivi come ad esempio Long e Double (che derivano da Number).
Quindi ad esempio:
Number[] numeri = new Number[2];
numeri[0] = new Long (12);
numeri[1] = new Double (23.7);poi ovviamente ... devi gestirlo tu, per sapere cosa hai esattamente in un elemento, devi usare instanceof.
Per "vettore" intendi l'array classico es. long[] oppure un oggetto di tipo Vector???
il classico long[]
il classico long[]
classe con getInt e getLong(e relativi setter).
Ci fai l'array, e hai risolto.
ciao,
da quel poco che che so in java non ci sono strutture di tipo record,
Eistono le classi e quasi sempre si può risolvere tutto aggiungendo un livello di astrazione e delegando le operazioni che si fanno sul record alla classe che ne contiene i dati
da quel poco che che so in java non ci sono strutture di tipo recordEsatto, come ha appena detto cionci, esistono le classi, che puoi "vedere" idealmente come delle strutture "potenziate" (per dirla in modo semplice :p ).
Tu hai chiesto per i vettori e io ti ho fatto l'esempio ma ... dipende da cosa devi fare! Se ti basta avere un semplice contenitore dove tenere dei dati di tipo eterogeneo (proprio come le strutture in C/C++), puoi fare:
public class MioRecord {
public long valore1;
public double valore2;
}Ovvio, non è il massimo. ;)
Se usi java 5 o superiore non c'e' neanche bisogno dei tipi wrapper,
ci pensa l'autoboxing.
Ad esempio questo vettore contiene due long e un double:
Number[] nums = new Number[] {12L, 234.56, 145454L };
Questo approccio ha comunque un difetto, visto che puo' contenere
qualsiasi sottoclasse di Number, e non solo Long e Double,
ma se per te non e' un problema...
ciao
grazie mille ragazzi , mi avete veramente schiarito le idee.
:p :p :p
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.