Hallo zsammen,
ich bin grad dabei mir ein kleines Verwaltungstool für Pflanzen zu schreiben. Dabei besitzt eine Pflanze neben anderen Attributen auch eine eindeutige Id. Diese wird standardmäßig über einen autoincrement gesetzt. Da die Pflanzen aber bereits nummeriert sind, brauche auch die Möglichkeit die Id manuell zu setzen. Dabei sollen natürlich trotzdem keine Ids mehrfach vergeben werden. Wie prüfe ich am besten, ob eine Id bereits vergeben ist (Zeile 17-19)?
Unter php würde ich dafür einfach ein statisches assoziatives Array mit key=Id nutzen. Wie kann man sowas unter JAVA realisieren?
ich bin grad dabei mir ein kleines Verwaltungstool für Pflanzen zu schreiben. Dabei besitzt eine Pflanze neben anderen Attributen auch eine eindeutige Id. Diese wird standardmäßig über einen autoincrement gesetzt. Da die Pflanzen aber bereits nummeriert sind, brauche auch die Möglichkeit die Id manuell zu setzen. Dabei sollen natürlich trotzdem keine Ids mehrfach vergeben werden. Wie prüfe ich am besten, ob eine Id bereits vergeben ist (Zeile 17-19)?
Unter php würde ich dafür einfach ein statisches assoziatives Array mit key=Id nutzen. Wie kann man sowas unter JAVA realisieren?
Java:
public class Plant implements Serializable{
private static AtomicInteger nextId = new AtomicInteger();
private int id;
public Plant() {
this.id = nextId.incrementAndGet();
}
public int getId() {
return id;
}
public void setId(int id) {
if( id >= nextId.get() ){
nextId.set(id);
}else{
// if ( id existiert ? ){
// throw new Exception("id still exists")
// }
}
this.id = id;
}
}