![](//www.dsy.it/forum/images/space.gif) |
filipp8 |
interface Comparable |
03-02-2005 19:31 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
filipp8 |
.fedelissimo.
Registered: Oct 2004
Posts: 48 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 2
Time Online: 2 Days, 1:57:52 [...]
Status: Offline
Edit | Report | IP: Logged |
interface Comparable
Per il progetto di info bisogna fare le classi Seme e Valore implementando l'interfaccia Comparable, giusto?
quindi devo ridefinire il metodo compareTo(Object o), giusto?
come mai allora, quando vado a fare il cast sull'object per ottenere un int mi dice che l'object è un "inconvertible types"?
questo è il metodo che ho scritto:
public int compareTo(Object obj)
{
int n = (int) obj;
if (s < n) return -1;
else if (s > n) return 1;
else return 0;
}
|
03-02-2005 19:31 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
nous |
[url]
... |
04-02-2005 08:20 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
nous |
.:Retore Pomposo:.
![](avatar.php?userid=81&dateline=1032710897)
Registered: Dec 2001
Posts: 2945 (0.35 al dì)
Location: Fino Mornasco - Como
Corso: Informatica
Anno: Specialista
Time Online: 16 Days, 13:56:49 [...]
Status: Offline
Edit | Report | IP: Logged |
[url]http://java.sun.com/j2...Comparable.html
[/url]
http://java.sun.com/j2se/1.3/docs/a...ng/Integer.html
Cmq credo che sia perchè se vuoi un int da un Object devi convertirlo a Integer e poi utilizzare il metodo intValue.
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
|
04-02-2005 08:20 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
filipp8 |
Sembra funzionare, mi è bastato sostituire l'(int ... |
04-02-2005 12:08 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
filipp8 |
.fedelissimo.
Registered: Oct 2004
Posts: 48 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 2
Time Online: 2 Days, 1:57:52 [...]
Status: Offline
Edit | Report | IP: Logged |
Sembra funzionare, mi è bastato sostituire l'(int) in (Integer)... grazie
mi stavo perdendo in un bicchier d'acqua...
|
04-02-2005 12:08 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
0m4r |
int e Integer non sono la stessa cosa
... |
04-02-2005 12:30 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
0m4r |
.grande:maestro.
![](avatar.php?userid=3&dateline=1074504382)
Registered: Mar 2002
Posts: 7287 (0.87 al dì)
Location: Düsseldorf (DE)
Corso:
Anno: ESAMI FINITI
Time Online: 49 Days, 0:42:50 [...]
Status: Offline
Edit | Report | IP: Logged |
int e Integer non sono la stessa cosa
int è un tipo primitivo, mentre Integer è un oggetto
__________________
http://www.twitter.com/0m4r
|
04-02-2005 12:30 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
filipp8 |
si, ma se mi accetta int n = (int) obj;
... |
04-02-2005 13:09 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
filipp8 |
.fedelissimo.
Registered: Oct 2004
Posts: 48 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 2
Time Online: 2 Days, 1:57:52 [...]
Status: Offline
Edit | Report | IP: Logged |
si, ma se mi accetta int n = (int) obj;
alla fine n è per forza un intero, altrimenti non avrebbe compilato...
tu devi fare il progetto? come hai implementato l'interface Comparable?
|
04-02-2005 13:09 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
nous |
Cosa ti costa scrivere int n=((Integer)obj).intVal ... |
04-02-2005 13:37 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
nous |
.:Retore Pomposo:.
![](avatar.php?userid=81&dateline=1032710897)
Registered: Dec 2001
Posts: 2945 (0.35 al dì)
Location: Fino Mornasco - Como
Corso: Informatica
Anno: Specialista
Time Online: 16 Days, 13:56:49 [...]
Status: Offline
Edit | Report | IP: Logged |
Cosa ti costa scrivere int n=((Integer)obj).intValue() ??
Inoltre prima di castarlo forzatamente ti conviene verificare che effettivamente Object sia un Integer, altrimenti un giorno nascerà un'eccezione meravigliosa e non si capirà facilmente perchè...oppure usa i meravigliosi blocchi try{}catch{} che fanno sempre bene ![;)](images/smilies/icon_wink.gif)
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
|
04-02-2005 13:37 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
filipp8 |
si, scusa, nel messaggio prima volevo scrivere int ... |
04-02-2005 13:49 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
filipp8 |
.fedelissimo.
Registered: Oct 2004
Posts: 48 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 2
Time Online: 2 Days, 1:57:52 [...]
Status: Offline
Edit | Report | IP: Logged |
si, scusa, nel messaggio prima volevo scrivere int n = (Integer) obj;
cmq vedrò di metere alla prova il metodo per vedere se effettivamente funziona...
mi dite come avete implementato l'interface Comparable?
graz
|
04-02-2005 13:49 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
nous |
Si ok ma non ci siamo capiti : ha ragione chi ti d ... |
04-02-2005 14:27 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
nous |
.:Retore Pomposo:.
![](avatar.php?userid=81&dateline=1032710897)
Registered: Dec 2001
Posts: 2945 (0.35 al dì)
Location: Fino Mornasco - Como
Corso: Informatica
Anno: Specialista
Time Online: 16 Days, 13:56:49 [...]
Status: Offline
Edit | Report | IP: Logged |
Si ok ma non ci siamo capiti : ha ragione chi ti dice che non puoi, a rigor di logica, farlo. Ti ho suggerito di usare il metodo intValue() dell'oggetto Integer per ottenere quello che vuoi, cioè un int.
Leggi bene quello che ho scrito ![;)](images/smilies/icon_wink.gif)
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
|
04-02-2005 14:27 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
dayfallen |
Re: interface Comparable |
05-02-2005 11:43 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
dayfallen |
.consigliere.
![](avatar.php?userid=4013&dateline=1107376265)
Registered: Sep 2004
Posts: 124 (0.02 al dì)
Location: Lausanne, Svizzera
Corso: Comunicazione Digitale
Anno: Terzo Anno - Fuori Corso
Time Online: 1 Day, 6:07:45 [...]
Status: Offline
Edit | Report | IP: Logged |
Re: interface Comparable
Originally posted by filipp8
Per il progetto di info bisogna fare le classi Seme e Valore implementando l'interfaccia Comparable, giusto?
quindi devo ridefinire il metodo compareTo(Object o), giusto?
come mai allora, quando vado a fare il cast sull'object per ottenere un int mi dice che l'object è un "inconvertible types"?
questo è il metodo che ho scritto:
public int compareTo(Object obj)
{
int n = (int) obj;
if (s < n) return -1;
else if (s > n) return 1;
else return 0;
}
Non capisco perché vuoi confrontare un Seme o un Valore con un int... l'interfaccia Comparable è per confrontare degli oggetti dello stesso tipo...
Nel tuo caso invece è come fare un confronto tra un Rettangolo e un intero... ![:?](images/smilies/confused.gif)
|
05-02-2005 11:43 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
filipp8 |
non voglio confrontare un Valore con un int... vog ... |
05-02-2005 12:04 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
filipp8 |
.fedelissimo.
Registered: Oct 2004
Posts: 48 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 2
Time Online: 2 Days, 1:57:52 [...]
Status: Offline
Edit | Report | IP: Logged |
non voglio confrontare un Valore con un int... voglio assegnare a un Valore un rispettivo int in modo da confrontare i Valori liberamente ed avere come ritorno un 1, -1 o 0 a seconda dei casi...
cmq ripeto che questo codice me lo compila tranquillo
public int compareTo(Object obj)
{
int n = (Integer) obj;
if (s < n) return -1;
else if (s > n) return 1;
else return 0;
}
cmq se l'n che ottengo così non è un int, proverò con l'intValue()...
però vi chiedo ancora una volta, voi come avete implementato l'interface Comparable?
grazie ancora per la pazienza
|
05-02-2005 12:04 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
K)M4STER |
Comincia con il valutare i consigli che ti sono st ... |
05-02-2005 12:39 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
K)M4STER |
.precettore.
Registered: Nov 2004
Posts: 96 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 0:40:10 [...]
Status: Offline
Edit | Report | IP: Logged |
Comincia con il valutare i consigli che ti sono stati dati (per altro tutti buoni), se proprio non vuoi farlo allora procedi come vuoi tu!
però vi chiedo ancora una volta, voi come avete implementato l'interface Comparable?
Sicuramente nel compareTo non confronto 2 interi, oltre ad essere estremamente riduttivo rischia effettivamente di lanciare eccezioni assurde...
|
05-02-2005 12:39 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
filipp8 |
[QUOTE] [B]Sicuramente nel compareTo non confronto ... |
05-02-2005 13:09 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
filipp8 |
.fedelissimo.
Registered: Oct 2004
Posts: 48 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 2
Time Online: 2 Days, 1:57:52 [...]
Status: Offline
Edit | Report | IP: Logged |
Sicuramente nel compareTo non confronto 2 interi, oltre ad essere estremamente riduttivo rischia effettivamente di lanciare eccezioni assurde...
Discutiamo su questa cosa...
come fai a confrontare due oggetti della classe Valore se non definisci dei criteri di paragone? il metodo compareTo(Object o) definito nella classe Valore descrive il criterio del paragone tra due oggetti della classe Valore... nella definizione del metodo di paragone non puoi confrontare due oggetti della classe Valore in quanto non è ancora stato definito il metodo per farlo... confronti quindi l'int che definisce il valore dell'oggetto della classe Valore (scusate il gioco di parole)...
alla fine si riduce tutto ad un confronto fra due int...
capite cosa intendo dire?
|
05-02-2005 13:09 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
dayfallen |
[QUOTE][i]Originally posted by filipp8 [/i]
... |
05-02-2005 14:11 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
dayfallen |
.consigliere.
![](avatar.php?userid=4013&dateline=1107376265)
Registered: Sep 2004
Posts: 124 (0.02 al dì)
Location: Lausanne, Svizzera
Corso: Comunicazione Digitale
Anno: Terzo Anno - Fuori Corso
Time Online: 1 Day, 6:07:45 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by filipp8
Discutiamo su questa cosa...
come fai a confrontare due oggetti della classe Valore se non definisci dei criteri di paragone? il metodo compareTo(Object o) definito nella classe Valore descrive il criterio del paragone tra due oggetti della classe Valore... nella definizione del metodo di paragone non puoi confrontare due oggetti della classe Valore in quanto non è ancora stato definito il metodo per farlo... confronti quindi l'int che definisce il valore dell'oggetto della classe Valore (scusate il gioco di parole)...
alla fine si riduce tutto ad un confronto fra due int...
capite cosa intendo dire?
hai presente il metodo get() di Valore e di Seme... è stato creato apposta...
|
05-02-2005 14:11 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
K)M4STER |
Come ti ha detto DayFallen...
... |
05-02-2005 16:31 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
K)M4STER |
.precettore.
Registered: Nov 2004
Posts: 96 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 0:40:10 [...]
Status: Offline
Edit | Report | IP: Logged |
Come ti ha detto DayFallen...
Se vuoi confrontare degli interi basta fare il get dei due valori, diverso è confrontare 2 oggetti di tipo Valore (e x questo esiste il compareTo)
|
05-02-2005 16:31 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
dayfallen |
[QUOTE][i]Originally posted by K)M4STER [/i]
... |
05-02-2005 16:33 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
dayfallen |
.consigliere.
![](avatar.php?userid=4013&dateline=1107376265)
Registered: Sep 2004
Posts: 124 (0.02 al dì)
Location: Lausanne, Svizzera
Corso: Comunicazione Digitale
Anno: Terzo Anno - Fuori Corso
Time Online: 1 Day, 6:07:45 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by K)M4STER
Come ti ha detto DayFallen...
Se vuoi confrontare degli interi basta fare il get dei due valori, diverso è confrontare 2 oggetti di tipo Valore (e x questo esiste il compareTo)
Ehehe grazie per l'appoggio K)M4STER ![:-D](images/smilies/icon_biggrin.gif)
|
05-02-2005 16:33 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
All times are GMT. The time now is 00:20. |
|
|
![Post New Thread](images/newthread.gif) |
|
![Post A Reply](images/reply.gif) |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|