Thread View: be.comp.programming
2 messages
2 total messages
Started by An Ony
Thu, 06 Sep 2007 19:43
[JAVA] Generic objects at runtime
Author: An Ony
Date: Thu, 06 Sep 2007 19:43
Date: Thu, 06 Sep 2007 19:43
32 lines
1987 bytes
1987 bytes
Dag iedereen,
Ik dacht dat java5 het antwoord zou bieden wat ik te kort kom in 1.4, maar blijkbaar lukt het me niet.
Ik wil graag at runtime een object instantieren �n dat gebruiken zonder op voorhand te weten van welke klasse het is.
Ik had gehoopt dat dit zou lukken in 1.5, maar blijkbaar niet?
Om wat te verduidelijken wat ik zou willen:
class ABC {
main() {
String klasse = "Integer";
List<klasse> l = new ArrayList<klasse>();
l.put(new Object<klasse>(5));
l.put(new Object<klasse>(4));
Object<klasse> o = l.get(0);
Object<klasse> o2 = l.get(1);
try {
Object<klasse> o3 = o + o2;
} catch (ex) {
//oeps, "klasse" heeft geen + operator
}
}
}
Om het nog wat meer at-runtime te beschouwen, die "Integer" "5" "4" komen bvb van de command line als argumenten.
Bedoeling is dus om dezelfde code ook te laten werken met "Double" "2.5" "1.4".
Is dit nu niet mogelijk met generics? Want het lijkt erop dat de compiler al wilt weten wat ik in die List ga steken.
bedankt voor de info,
Re: [JAVA] Generic objects at runtime
Author: Raf
Date: Sun, 09 Sep 2007 21:06
Date: Sun, 09 Sep 2007 21:06
18 lines
1724 bytes
1724 bytes
An Ony <nowhere@somewhere.net> wrote:
> Ik dacht dat java5 het antwoord zou bieden wat ik te kort kom in 1.4,
> maar blijkbaar lukt het me niet. Ik wil graag at runtime een object
> instantieren �n dat gebruiken zonder op voorhand te weten van welke
> klasse het is.
[...]
> Is dit nu niet mogelijk met generics? Want het lijkt erop dat de
> compiler al wilt weten wat ik in die List ga steken.
Generics worden inderdaad at compile-time ge�valueerd ("is alles wat in
deze List gestoken wordt van het opgegeven type?"), zodat je nadien niet
meer hoeft te casten naar het desbetreffende type.
Ik denk dat je eerder met introspection aan de slag wil...
--
Raf
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads