Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Newsgroups | it.comp.java |
| Subject | Re: perchè non funziona questo cast? |
| Date | 2019-09-08 08:39 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <ql27pb$1f0o$1@gioia.aioe.org> (permalink) |
| References | <qkuaje$e5i$1@gioia.aioe.org> <qkvlfu$9eu$1@gioia.aioe.org> <ql0uu5$2mp$1@gioia.aioe.org> |
Il 07.09.2019 21.03, Gioacchino ha scritto:
> Il 07/09/2019 09:14, Dr.UgoGagliardelli ha scritto:
>> Il 06.09.2019 21.04, Gioacchino ha scritto:
>>> Metodo (List <? T super Number> numbers) ...
>>>
>>>
>>> poi in un ciclo:
>>>
>>> for ( Number n : numbers )
>>>
>>> etc
>>>
>>> e mi da errore, mi dice type mismatch e che non può castare (? super
>>> number) to number , e mi propone
>>>
>>> for ( Object n : numbers )
>>>
>>>
>>> Certamente object è una superclasse, ma non posso usare la stessa
>>> classe Number?
>> Ebbene no. Hai una lista che ammette le superclassi di Number, quindi
>> solo Object.
>
>
> quindi Object e Number si possono assegnare a Object ,
> ma Object non si può assegnare a Number , giusto?
Ni.
L'espressione for ( Object n : numbers ) usa l'iteratore di numbers,
ogni n dovra' essere un T di numbers, ovvero:
List<Number> numbers;
oppure
Number[] numbers;
ammettono sia:
for ( Object o : numbers )
che:
for ( Number o : numbers )
in entrambi i casi puoi inserire in numbers anche un oggetto che estenda
Number.
Mentre puoi sempre fare un cast ad un tipo ammesso che che l'istanza di
cui fai il cast estenda quel tipo.
Ad esempio:
for ( Object o : numbers ) {
Number n = (o istanceof Number)?(Number)o:null;
ma anche:
Number n = (o istanceof Integer)?(Integer)o:null;
oppure:
Integer n = (o istanceof Integer)?(Integer)o:null;
Viceversa l'istanza di qualsiasi classe puo' sempre essere assegnata ad
un Object, in virtu' del fatto che in Java la gerarchia di qualsiasi
oggetto discende da Object.
Back to it.comp.java | Previous | Next — Previous in thread | Next in thread | Find similar
perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-06 21:04 +0200
Re: perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-06 21:06 +0200
Re: perchè non funziona questo cast? "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2019-09-07 09:42 +0200
Re: perchè non funziona questo cast? "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2019-09-07 09:14 +0200
Re: perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-07 21:03 +0200
Re: perchè non funziona questo cast? "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2019-09-08 08:39 +0200
Re: perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-08 12:36 +0200
Re: perchè non funziona questo cast? 4ndre4 <4ndre4@4ndre4.invalid> - 2019-09-12 22:28 +0100
Re: perchè non funziona questo cast? "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2019-09-13 09:25 +0200
Re: perchè non funziona questo cast? 4ndre4 <4ndre4@4ndre4.invalid> - 2019-09-14 12:33 +0100
Re: perchè non funziona questo cast? "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2019-09-16 14:51 +0200
Re: perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-13 15:44 +0200
Re: perchè non funziona questo cast? 4ndre4 <4ndre4@4ndre4.invalid> - 2019-09-14 12:34 +0100
Re: perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-17 00:52 +0200
Re: perchè non funziona questo cast? 4ndre4 <a.laforgia@gmail.com> - 2019-09-20 04:26 -0700
Re: perchè non funziona questo cast? Gioacchino <vannnnia1991@gmail.com> - 2019-09-20 18:19 +0200
csiph-web