我需要别人帮助才能从地图中检索字段。
这是我的代码:
Private List<Job> allJobs;
public void getAllIds(Event e) {
Map<String, Object> rs=null;
for(Job j:allJobs) {
// Contains key as 'data' and value as object (might be any class)
rs=j.getVariable(id);
// Here I need get the company id from the object of 'rs'
}
}
这是我的一个类结构传递给Object
:
class Server {
UserContext userContext;
}
class UserContext {
int companyId;
}
我需要从上面rs
获取此公司ID。
如果没有将对象转换为类类型,我怎样才能实现?
或者,如果我们知道类名(String
),我可以将此对象类型转换为动态类类型吗?
答案 0 :(得分:0)
是否必须使用Object?您可以添加如下界面:
interface Accessible<T> {
T getValue();
}
然后对这些类使用它,这些类可以存储在 rs 中:
class Server implements Accessible<Integer> {
UserContext userContext;
@Override
public Integer getValue() {
return userContext.getCompanyId();
}
}
在你的方法中:
private List<Job> allJobs;
public void getAllIds(Event e) {
Map<String, Accessible<Integer>> rs=null;
for(Job j:allJobs) {
rs=j.getVariable(id);
int myCompanyId = rs.get("my_company").getValue();
}
}