Salve ho questa classe:
public class Ludoteca {
private Map<String, Item> item = null;
private Map<String, Ambient> ambientService = null;
private String name = null;
public Ludoteca(String name) {
if (name == null || name.equals("")) {
throw new IllegalArgumentException("Name ludoteca invalid");
}
this.name = name;
this.item = Collections.synchronizedMap(new HashMap<String, Item>());
this.ambientService = Collections.synchronizedMap(new HashMap<String, Ambient>());
}
public String getName(){
return this.name;
}
public Item addItem(Item item){
if (item!=null){
return this.item.put(item.getId(), item);
}
else return null;
}
public Item removeItem(Item item){
if(item!=null){
if(item.isAvailable() && item.isLent()){
return this.item.remove(item.getId());
}
else return null;
}
else return null;
}
}
ed una classe che la testa
public class TestLudoteca {
public static void main(String[] args){
Ludoteca l=new Ludoteca("Synclab");
System.out.println("Ludoteca:"+l.getName());
Item it=new Item("Gioco1","Toy_1");
Item i=l.addItem(it);
if(i.equals(it)) System.out.println("Inserimento avvenuto");
else System.out.println("Inserimento non avvenuto");
i=l.removeItem(it);
if(i.equals(it)) System.out.println("Cancellazione avvenuta");
else System.out.println("Cancellazione non avvenuta");
}
}
perchè l'inserimento nella HashMap non avviene ritornandomi null?

Rispondi quotando