【发布时间】:2015-12-23 09:13:53
【问题描述】:
这是一个 EJB 项目。我需要实现一个比较两个或多个对象的函数,并且一旦单击“添加”或“删除”按钮,我就只能添加或删除一个对象。因此,我的想法是将对象存储在HashMap中,然后进行比较,取其最佳。但是当我运行我的方法时,HashMap 为空。方法不能在其中添加对象。怎样才能使HashMap被操作。我的代码附在下面。
@Stateful
public class ComparePropertySessionBean implements ComparePropertySessionBeanRemote{
public HashMap<Integer, Double> map = new HashMap<Integer, Double>();
@Override
public int getBestPerRoom() {
Iterator<Integer> iterator = map.keySet().iterator();
int i = 0;
double ave = 10000000000.00;
if (iterator.hasNext()) {
Integer key = iterator.next();
if (map.get(key) < ave) {
i = key;
ave = map.get(key);
}
}
return i;
}
@Override
public void addCompareProperty(int propertyId, double price, int noofbedrooms) {
if (!map.containsKey(propertyId)) {
map.put(propertyId, price/noofbedrooms);
}
}
@Override
public void removeCompareProperty(int propertyId) {
if (map.containsKey(propertyId)) {
map.remove(propertyId);
}
}
}
【问题讨论】:
-
您是说 HashMap 引用为空吗?如果是这样,程序应该崩溃。发布错误消息