Switch-Anweisung mit string als argument in Android
Ich würde gerne eine switch-Anweisung in Java 1.7 die es erlaubt, auch switch(someString)
. Jedoch wenn ich den java-compiler 1.7 das Projekt bricht und ich entweder zurück auf 1.5 oder verwenden android tools-> fix project
.
Gibt es eine Möglichkeit, verwenden Sie switch mit Strings in android-Entwicklung?
- Es ist in Java7, also den Grund für diese Frage.
- Die Antwort in diesem link (stackoverflow.com/questions/338206/...) zeigt Ihnen, wie Sie etwas arbeiten, um den switch mit string-Beschränkung vor java 7. Wenn Sie nicht möchten, dass dieser Ansatz, Sie stecken mit wenn/elses.
- Möglich, Duplikat der stackoverflow.com/questions/14367629/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
BEARBEITEN
Ich persönlich noch nicht ausprobiert, aber laut der Android-System-Anforderungen Seite, es wird nicht unterstützt. Das heißt, es bedeutet nicht, dass es nicht funktionieren würde, nur, dass Sie unwahrscheinlich sind, erhalten viel/jede Hilfe zu dem Thema von Google/Android.
Auf eine potenziell positiv, (gefunden mit Hilfe von @Emil H und sein Kommentar), ich fand diese wenig Informationen online:
Vom Dalvik auf Wikipedia:
Wenn der bytecode nicht ändern von version 6 auf 7 (mit Ausnahme der zusätzlichen
invokedynamic
erwähnt von @David Schwartz, dieswitch
Aussagen sollte man nicht verwenden.), dann sollte es funktionieren...invokedynamic
zu den Java-byte-code per JSR292.Sollten Sie in der Lage sein zu verwenden JDK7 mit android. Überprüfen Sie diese Antwort auf eine ähnliche Frage:
https://stackoverflow.com/a/7481063/355499
EDIT:
Versuchte es lokal und alles funktioniert mit JDK7 (es ist, was ich verwenden bei der Entwicklung). Jedoch, ich kann nicht einen Weg finden, ändern Sie die compliance-Niveau von 1,6 bis 1,7 in mein android-Projekt. Wenn Sie wirklich wollen, dies zu tun ich vermute, Sie haben Rückgriff auf die Gebäude, Ihr Projekt mit anderen Mitteln als mit Eclipse. Zum Beispiel mit einem ant-script oder ähnliches. Vielleicht ein bisschen mehr Arbeit, als es Wert ist wenn.
Denn es ist nicht möglich:
obwohl es in Java 1.7 compiler es wurde eingeführt, die Schalter - Anweisung mit String, leider erfordert Android-version 1.6 oder 1.5.
Also müssen wir warten.