PDA

Visualizza la versione completa : [java]confrontare un int con un oggetto di tipo Vector


matrics21
23-01-2004, 20:50
Come faccio a confrontare il valore contenuto in un oggetto Vector con un valore di tipo int?

patrix03
23-01-2004, 21:00
int test = 12;
Integer val = (Integer)vector.get(i);
if(test == val.intValue()){}


...



int test = 12;
Integer val = (Integer)vector.get(i);
if(val.compareTo(new Integer(test))...

matrics21
23-01-2004, 21:03
Originariamente inviato da patrix03


int test = 12;
Integer val = (Integer)vector.get(i);
if(test == val.intValue()){}


...



int test = 12;
Integer val = (Integer)vector.get(i);
if(val.compareTo(new Integer(test))...



a cosa serve il metodo get()?
intValue()?
compareTo sarebbe come l'equals per le string?

matrics21
23-01-2004, 21:04
Originariamente inviato da matrics21
a cosa serve il metodo get()?
intValue()?
compareTo sarebbe come l'equals per le string?


Sono fagiano lo so :fagiano:

patrix03
23-01-2004, 21:29
mmmmmm...

Vector è un oggetto che deriva da java.util.AbstractList
e implementa l'interfaccia List.
Come ogni rispettabile lista è provvisto di metodi per aggiungere un elemento in coda, un elemento in una posizione particolare, una serie intera di elementi ecc... cosi pure provvisto di metodi per rimuovere e ottenere elementi dalla lista.
vector.get(int i) non fa altro che ritornare l'oggetto nella posizione i all'interno della collezione.
Questo metodo torna Object, per cui devi castare l'oggetto tornato al tipo corretto:
Integer val = (Integer)vector.get(i);
nel caso si stia parlando di Integer.

Integer è .. diciamo la rappresentazione Oggetto di un int.
Cioè, mentre int è un tipo primitivo, Integer è un vero è proprio oggetto che fornisce metodi particolari per trattare i dati, tra i quali:
-integrer.intValue() :ritorna il valore come tipo int

-integrer.compareTo(Object o)
integrer.compareTo(Integer i) : ritornano un valore di tipo int
maggiore uguale o minore a 0 a seconda del
risultato del confronto tra i due oggetti.

matrics21
23-01-2004, 21:48
Ho capito.
Ma qual è la differena tra get() e elementAt()?

patrix03
23-01-2004, 22:17
funzionalmente nessuna.
Il get(int i) è dichiarato dall'interfaccia List e comune a tutte quelle classi che la implementano.
elementAt() specifica la funzionalità per i Vector.

matrics21
23-01-2004, 22:25
Un'ultima domanda:

ma devo implementare l'interfaccia per questo metodo,come ad esempio si implementa l'interfaccia ActionListener?

Cmq grazie per l'aiuto ;)

patrix03
23-01-2004, 22:35
No... l'interfaccia List è gia implementata da diverse classi.. Vector, LinkedList ecc...
Se queste classi soddisfano le tue necessità .. non hai bisogno di fare nulla.
Se dovessi aver bisogno di liste con comportamenti "anomali" allora probablimente creerai una classe facendole implementare l'interfaccia List, definendo poi il comportamento di ogni metodo dichiarato.

Sciau.

matrics21
23-01-2004, 22:38
Capito.

Grazie 1000.


:ciauz:

Loading