Hey Leute!
Ich habe zwei Datentypen (Article und Category) -es sind die einzigsten- und habe im Programm folgende Abfrage:
Lasse ich das return "" weg, dann meckert der Compiler.. Das auch zurecht! Nur ist das eben aber auch nicht wirklich schön, dass er da einen leeren String zurückgibt.
Löse ich es so
finde ich das auch nicht wirklich eine schöne Lösung.. Denn kommt bspw. ein drittes MyModel dazu und es wird die Methode aufgerufen, wird dennoch "something for Category" returnt.
Wie löse ich denn solche verschachtelten if-Abfragen am schönsten, dass jeder Fall seine eigene if-Abfrage hat und der Compiler zufrieden ist.
Hoffe ich habe mein Problem verständlich beschrieben. Danke Euch für die Hilfe!
Ich habe zwei Datentypen (Article und Category) -es sind die einzigsten- und habe im Programm folgende Abfrage:
Java:
public String doNew(MyModel model) {
if (model instanceof Article) {
// do something for Article
return "something for Article";
} else if (model instanceof Category) {
// do something for Category
return "something for Category";
}
return "";
}
Lasse ich das return "" weg, dann meckert der Compiler.. Das auch zurecht! Nur ist das eben aber auch nicht wirklich schön, dass er da einen leeren String zurückgibt.
Löse ich es so
Java:
public String doNew(MyModel model) {
if (model instanceof Article) {
// do something for Article
return "something for Article";
}
// do something for Category
return "something for Category";
}
finde ich das auch nicht wirklich eine schöne Lösung.. Denn kommt bspw. ein drittes MyModel dazu und es wird die Methode aufgerufen, wird dennoch "something for Category" returnt.
Wie löse ich denn solche verschachtelten if-Abfragen am schönsten, dass jeder Fall seine eigene if-Abfrage hat und der Compiler zufrieden ist.
Hoffe ich habe mein Problem verständlich beschrieben. Danke Euch für die Hilfe!