這是一個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引用爲空?如果是這樣,程序應該崩潰。發佈錯誤消息 –