Вам нужно сначала заполнить все поля в Client
non-stati c! Вы бы хотели, чтобы каждый экземпляр Client
имел разные ID, имя и день рождения, верно?
Вместо использования HashMap<Integer, String>
используйте HashMap<Integer, Client>
:
Client newclient = new Client();
HashMap<Integer, Client> clients = new HashMap<>();
clients.put(newclient.clientIdentifier, newclient);
Теперь вы можете просто сделать:
String requiredName = clients.get(scannedID).clientName;
Но на самом деле поля класса Client
должны быть частными и доступны через методы получения и установки . Вы также не должны иметь возможность сбросить clientIdentifier
клиента, поскольку это ключ карты.
Client
должен выглядеть следующим образом:
class Client {
private int clientIdentifier;
private String clientName;
private String clientFamilyname;
private String clientBirthdate;
public String getClientName() {
return clientName;
}
public void setClientName(String clientName) {
this.clientName = clientName;
}
public String getClientFamilyname() {
return clientFamilyname;
}
public void setClientFamilyname(String clientFamilyname) {
this.clientFamilyname = clientFamilyname;
}
public String getClientBirthdate() {
return clientBirthdate;
}
public void setClientBirthdate(String clientBirthdate) {
this.clientBirthdate = clientBirthdate;
}
public int getClientIdentifier() {
return clientIdentifier;
}
public Client(int clientIdentifier, String clientName, String clientFamilyname, String clientBirthdate) {
this.clientIdentifier = clientIdentifier;
this.clientName = clientName;
this.clientFamilyname = clientFamilyname;
this.clientBirthdate = clientBirthdate;
}
}
Ваш код карты ha sh теперь будет выглядеть так:
Client newclient = new Client();
HashMap<Integer, Client> clients = new HashMap<>();
clients.put(newclient.getClientIdentifier(), newclient);
String requiredName = clients.get(scannedID).getClientName();