package dealService;import java.util.HashMap;
class Msg101 extends MsgHead{ public HashMap<String, MsgField> map101;
public Msg101()
{
map101=new HashMap(18);
map101.put("msgLength", new MsgField<String>());
map101.put("sendCode", new MsgField<String>());
map101.put("receivssseCode", new MsgField<String>());
map101.put("consignDate", new MsgField<String>());
map101.put("consignTime", new MsgField<String>());
map101.put("dealNum", new MsgField<String>());
map101.put("msgNum", new MsgField<String>());
map101.put("headReserved", new MsgField<String>());
map101.put("etID", new MsgField<String>());
map101.put("machineID", new MsgField<String>());
map101.put("icCardID", new MsgField<String>());
map101.put("agreementNum", new MsgField<String>());
map101.put("money", new MsgField<String>());
map101.put("currency", new MsgField<String>());
map101.put("MAC", new MsgField<String>());
map101.put("bodyReserved", new MsgField<String>());
map101.put("stdStr", new MsgField<Byte[]>());
}
public MsgField<String> getValue(String key) {
MsgField<String> test=map101.get(key);
return new MsgField<String>();
}
}
问题:我现在我要去取哈希表对应的对象,由于我定义的是泛型,如果18个 new MsgField<?>());?号里面的类型都不一样,我要累死,代码也超级烦琐,试问反射可以搞定吗?动态检测然后自动匹配结果类型
class Msg101 extends MsgHead{ public HashMap<String, MsgField> map101;
public Msg101()
{
map101=new HashMap(18);
map101.put("msgLength", new MsgField<String>());
map101.put("sendCode", new MsgField<String>());
map101.put("receivssseCode", new MsgField<String>());
map101.put("consignDate", new MsgField<String>());
map101.put("consignTime", new MsgField<String>());
map101.put("dealNum", new MsgField<String>());
map101.put("msgNum", new MsgField<String>());
map101.put("headReserved", new MsgField<String>());
map101.put("etID", new MsgField<String>());
map101.put("machineID", new MsgField<String>());
map101.put("icCardID", new MsgField<String>());
map101.put("agreementNum", new MsgField<String>());
map101.put("money", new MsgField<String>());
map101.put("currency", new MsgField<String>());
map101.put("MAC", new MsgField<String>());
map101.put("bodyReserved", new MsgField<String>());
map101.put("stdStr", new MsgField<Byte[]>());
}
public MsgField<String> getValue(String key) {
MsgField<String> test=map101.get(key);
return new MsgField<String>();
}
}
问题:我现在我要去取哈希表对应的对象,由于我定义的是泛型,如果18个 new MsgField<?>());?号里面的类型都不一样,我要累死,代码也超级烦琐,试问反射可以搞定吗?动态检测然后自动匹配结果类型
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货