Reputation: 329
I have classes which are inherited from abstract Packet( this class has abstract method named read which reads from ByteBuffer).
in Python i would do something like...
class Blabla(Packet):
pass
class Blabla2(Packet):
pass
and then i would init each class in list like this
_packets = [Blabla, Blabla2]
and when i would identify id of packet i would do like this
pck = _packets[packetId]()
Want to do the same in java. Is there any fast way(except using switch)
Upvotes: 1
Views: 412
Reputation: 27184
This is what you should do:
ArrayList<Class> list = new ArrayList<Class>();
list.add(Class.forName("Blabla"));
list.add(Class.forName("Blabla2"));
list.get(packetId).newInstance();
Upvotes: 3