Boas pessoal é o seguinte.
Quero imprimir os valores de um Map mas estou com problemas. Acho que está a imprimir a hashcode do map.
O output é VehicleVan@587bd9f2
Fica o codigo:
Branch.java
private Map<String, Vehicle> vehicles = new TreeMap<String, Vehicle>();
public Map<String, Vehicle> getBranchVehicles() {
Map<String, Vehicle> aux = new TreeMap<String, Vehicle>();
for (Vehicle v : this.vehicles.values()) aux.put(v.getVehicleRegistration(), v.clone());
return aux;
}
Enterprise.java
private Map<String, Branch> affiliates = new TreeMap<String, Branch>();
public Map<String, Branch> accessBranch() {
return this.affiliates;
}
/**
* Imprime um Set
*/
public String printMap(Map map) {
StringBuilder str = new StringBuilder();
for (Object o : map.values()) {
str.append (o.toString() + "\n");
}
return str.toString();
}
/*
public String printMap(Map<String, Vehicle>v) {//Mesmo resultado
StringBuilder str = new StringBuilder();
for (Vehicle o : v.values()) {
str.append (o.toString() + "\n");
//System.out.println());
}
return str.toString();
}
*/
RentACar.java
System.out.println (enterprise.printMap(enterprise.accessBranch().get(bcod).getBranchVehicles()));
A str.toString() retorna VehicleVan@587bd9f2 mas quando faço:
System.out.println (enterprise.accessBranchCod(bcod).getBranchVehicles().get(“afd”).getVehicleModel()); //afd é a key do meu veiculo
O output fica correcto com o valor que introduzi. Alguém me pode ajudar?
Estou a recerber um warning do javac:
Description Resource Path Location Type
Map is a raw type. References to generic type Map<K,V> should be parameterized Enterprise.java /RentACar/src line 96 Java Problem
Parece que é o argumento do tipo Map que recebo (Map map)
Obrigado