这是一个EJB项目。我需要实现一个比较两个或更多对象的函数,并且一旦单击“添加”或“删除”按钮,我就可以添加或删除一个对象。因此,我的想法是将对象存储在HashMap中,然后比较它们并采取最佳措施。但是当我运行我的方法时,HashMap为空。方法不能在其中添加对象。如何使HashMap可以运行。我的代码附在下面。EJB 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引用为空?如果是这样,程序应该崩溃。发布错误消息 –