[英]Java class list like in Python
我有從抽象數據包繼承的類(這個 class 有一個名為 read 的抽象方法,它從 ByteBuffer 讀取)。
在 Python 我會做類似的事情......
class Blabla(Packet):
pass
class Blabla2(Packet):
pass
然后我會像這樣在列表中初始化每個 class
_packets = [Blabla, Blabla2]
當我識別數據包的ID時,我會這樣做
pck = _packets[packetId]()
想在 java 中做同樣的事情。 有什么快速的方法(使用開關除外)
這是你應該做的:
ArrayList<Class> list = new ArrayList<Class>();
list.add(Class.forName("Blabla"));
list.add(Class.forName("Blabla2"));
list.get(packetId).newInstance();
也許您正在尋找Class#newInstance()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.