-4
所以我有這樣的代碼:我可以搜索地圖內的對象嗎?
public class AccountService {
private Map<String, Account> accounts = DatabaseClass.getAccounts();
public AccountService(){
Account acc = new Account();
acc.setNickname("1");
acc.setPassword("2");
accounts.put("1", acc);
}
public List<Account> getAllAccounts(){
return new ArrayList<Account>(accounts.values());
}
public Account addAccount(String nickname, Account acc){
accounts.put(nickname, acc);
return acc;
}
public Account validateAccount(String nickname, String password){
Account acc = new Account(nickname,password);
if (accounts.containsValue(acc)){
acc.setNickname("true");
acc.setPassword("true");
}
return acc;
}
public class AccountResource {
AccountService accountservice = new AccountService();
@GET
public List<Account> getAllAccounts(){
return accountservice.getAllAccounts();
}
@POST
@Path("/{nickname}")
public Account addAccount(@PathParam("nickname") String nickname,Account acc){
return accountservice.addAccount(nickname,acc);
}
@GET
@Path("/{nickname}/{password}")
public Account validateAccount(@PathParam("nickname")String nickname, @PathParam("password") String password){
return accountservice.validateAccount(nickname , password);
}
public class DatabaseClass {
private static Map<String, Playlist> playlists = new HashMap<String, Playlist>();
private static Map<String, Account> accounts = new HashMap<String, Account>();
public static Map<String,Account> getAccounts(){
return accounts;
}
}
我想看看地圖(賬戶)中包含具有相同的參數作爲acc
的對象。 constainsValue
的部分不適用於我。有什麼建議麼? 我已經添加新對象到與值1和2。
賬戶申報在哪裏?關鍵是什麼? – rmlan
你是否爲'Account'類重寫'equals'和'hashCode'? –
如果您複製粘貼整個代碼 –