PDA

View Full Version : Chiarimenti sull'oggetto Collection di Java


Benna80
17-07-2005, 18:34
Nonostante la bella giornata mi ritrovo davanti ad un computer a programmare.. va behh portiamo pazienza. Tuttavia sto incontrando diverse difficoltà con l'oggetto Collection messo a disposizione da Java.

In particolare non riesco a fare la seguente operazione: da un array di stringhe dichiarato nel seguente modo

String[] fields = new String[6];

e che vado a riempire campo per campo, io voglio poi copiarmelo all'interno di un oggetto Collection chiamato result e pensavo di farlo nel seguente modo:

result.add(fields);

in modo che ogni singola entry dell'array mi vada finire in un campo dell'oggetto collection. Il problema è che riesco ad assegnare ai campi dell'array tutti i dati, ma poi quando faccio l'assegnamento alla collection mi va in NullPointerException.

Avete indicazioni da darmi gentilmente?

Grazie
Davide

Alvaro Vitali
17-07-2005, 18:47
Che intendi per "oggetto collection"?
Un oggetto di una classe che implementa l'interfaccia Collection?

Benna80
17-07-2005, 18:53
Che intendi per "oggetto collection"?
Un oggetto di una classe che implementa l'interfaccia Collection?

Io creo un oggetto collection in questo modo:

Collection c = null;

includendo tutte le libreire util in questo modo "import java.util.*"

Alvaro Vitali
17-07-2005, 19:26
E' vero funziona ma a questo punto chiedo una spegazione:

java.util.Collection è un'interfaccia, come è possibile che si possa istanziare un oggetto da un'interfaccia? :confused:

Benna80
17-07-2005, 23:07
E' vero funziona ma a questo punto chiedo una spegazione:

java.util.Collection è un'interfaccia, come è possibile che si possa istanziare un oggetto da un'interfaccia? :confused:


Ok, quindi cosa suggerisci?

Cioè, posso riformulare la domanda. Come faresti a inserire un array di stringhe in un oggetto di tipo Collection?

^TiGeRShArK^
18-07-2005, 01:19
apè,,,come fai tu bob copoi l'array nell'oggetto collection, ma aggiungi ad un campo della collectio il tuo array....
x copiare tutto dovresti scorrerti l'array con un for e assegnare ogni campo dell'array ad un campo della collection..

Benna80
18-07-2005, 06:48
apè,,,come fai tu bob copoi l'array nell'oggetto collection, ma aggiungi ad un campo della collectio il tuo array....
x copiare tutto dovresti scorrerti l'array con un for e assegnare ogni campo dell'array ad un campo della collection..

Ok, grazie, appena riesco provo. Stamattina mi sono alzato con la febbre maledizione, e si che dovrei partire per le vacanze giovedì :muro:

Appena combino qualcosa torno a postare qua, per ora grazie tante...

Davide

Benna80
18-07-2005, 10:42
apè,,,come fai tu bob copoi l'array nell'oggetto collection, ma aggiungi ad un campo della collectio il tuo array....
x copiare tutto dovresti scorrerti l'array con un for e assegnare ogni campo dell'array ad un campo della collection..


Ok, ho provato questa soluzione

for (i=0; i<6; i++)
{
result.add(fields[i]);
}

Dove fields[] è un array di stringhe, mentre result è un oggetto di tipo collection, tuttavia mi torna a dare nullPointerException.

Intendevi così quando mi hai detto di fare un ciclo for in cui manualmente inserivo gli oggetti stringa all'interno dell'oggetto collection?

Alvaro Vitali
18-07-2005, 11:51
Forse dovresti postare più codice, ci potrebbero essere altri errori da altre parti... ;)

orpheus
18-07-2005, 14:04
Io creo un oggetto collection in questo modo:

Collection c = null;

includendo tutte le libreire util in questo modo "import java.util.*"


Il problema dovrebbe essere qui

Da quanto ho capito hai scritto una cosa del tipo

Collection result=null;
....
..
result.add(..);

Per forza parte una NullPointerException sulla add.

Cmq Collection come è già stato detto è un'interfaccia e quindi non è istanzionabile, usa Vector (che implementa l'interfaccia Collection e quindi è una collezione e sei a posto)


Vector result=new Vector();
for (i=0; i<6; i++)
result.add(fields[i]);