Ich verwende Aufzählung mit Schalter Fall aber ich die folgende Fehlermeldung erhalten:keine Konstante in Enum
NEWS FEED is not a constant in FragmentName
Dies ist meine Enum String-Konstante,
public enum FragmentName{
FRAGMENT_NEWSFEED("NEWS FEED"),
FRAGMENT_MESSAGES("MESSAGES"),
FRAGMENT_EVENTS("EVENTS"),
FRAGMENT_WHOISAROUDNME("WHOS AROUND");
private final String text;
private FragmentName(final String text) {
this.text = text;
}
@Override
public String toString() {
return text;
}
}
//This is my function from where i check for corresponding enum constant
public void changeTitle(String title) {
switch (Enums_String.FragmentName.valueOf(title)) {
case FRAGMENT_NEWSFEED:
System.out.println("1");
break;
case FRAGMENT_EVENTS:
System.out.println("2");
break;
case FRAGMENT_MESSAGES:
System.out.println("3");
break;
case FRAGMENT_WHOISAROUDNME:
System.out.println("4");
break;
}
}
Als ich
nennen changeTitle("NEWS FEED");
es erstellt eine Ausnahme in der ChangeTitle-Funktion auch der Wert übergeben ist gleich, so würde jede Hilfe als I ha geschätzt werden Ich habe alles versucht, um das zu lösen.
Der 'valueOf' Aufruf erwartet, dass Sie einen Wert wie' FRAGMENT_NEWSFEED' übergeben, nicht den Stringwert 'NEWS FEED'. – sstan
Was erwarten Sie, wenn Sie 'Enums_String.FragmentName.valueOf (title)' aufrufen, wobei 'title'' 'NEWS FEED '' ist und warum Sie denken, dass es so funktionieren sollte (welcher Teil der Dokumentation schlägt dies vor?) arbeiten, wie Sie denken, dass es tut)? – Pshemo
danke sstan, aber ich möchte 'NEWS FEED' an changeTitle (String) Methode und entsprechende senden, muss es funktionieren – TheGreat004