我有一个文件,其中包含交易代理活动的输出。例如:
222666:org.powertac.common.Order::171875::new::21::165482::-35.74395569719625::35.0
222666:org.powertac.common.Order::171876::new::21::165893::-35.74395569719625::35.0
该类Order定义为:
public Order (Broker broker, Timeslot timeslot,
double mWh, Double limitPrice)
{
super();
this.broker = broker;
this.timeslot = timeslot;
this.mWh = mWh;
this.limitPrice = limitPrice;
}
所以从我的文件中:
<id>:<package_name>::<execution_id>::<new object>::<args_list>
但是,有一些示例,例如:
222665:org.powertac.genco.Genco::21::setCurrentCapacity::35.74395569719625
222665:org.powertac.genco.Genco::21::setInOperation::true
new因此,我必须setCurrentCapacity使用参数调用该方法,而不是创建一个对象35.7439..。我的目标是创建一个
Map<Integer, Object> map = new Map<Integer, Object>();
就是这样,Map介于Integer id和之间Object。因此,如果我想再次重现代理活动,我只需处理Map对象。我想知道实现我的目标的最佳方法是什么。例如,我是否必须实际创建Genco对象并将其转换为,Object然后再存储到Map? 如何设置函数调用?我的意思是,我如何创建Genco对象并告诉它调用?另外,这是什么意思,我该如何处理以下值:setInOperationMap
300:org.powertac.du.DefaultBrokerService$LocalBroker::1::new::default broker
300:org.powertac.du.DefaultBrokerService$LocalBroker::1::setLocal::true
用$符号?