Kann Javas Switch-Anweisung Wertebereiche in jedem Fall nutzen?
In Java wertet eine Switch-Anweisung einen einzelnen Wert anhand einer Reihe von Groß- und Kleinschreibung aus Etiketten. Allerdings können die Fallbeschriftungen nur einzelne Werte enthalten, keine Bereiche. Dies kann dazu führen, dass Sie sich fragen, ob ein solches Verhalten möglich ist, indem Sie sich von Sprachen wie Objective C inspirieren lassen.
Java's Approach to Handling Ranges
Im Gegensatz zu Objective C ist dies bei Java nicht der Fall Unterstützt nativ Wertebereiche innerhalb von Switch-Case-Anweisungen. Dies bedeutet, dass der von Ihnen bereitgestellte Codeausschnitt zu einem Kompilierungsfehler führt.
Stattdessen bietet Java eine Problemumgehung mithilfe logischer Vergleiche. Sie können eine Hilfsmethode wie „isBetween“ definieren, um zu bestimmen, ob ein Wert innerhalb eines Bereichs liegt:
public static boolean isBetween(int x, int lower, int upper) { return lowerMit dieser Methode können Sie Ihre Switch-Anweisung mit if-else if-Konstrukten umschreiben:
if (isBetween(num, 1, 5)) { System.out.println("testing case 1 to 5"); } else if (isBetween(num, 6, 10)) { System.out.println("testing case 6 to 10"); }Durch die Verwendung dieses Ansatzes können Sie die Funktionalität von Wertebereichen innerhalb von Schalterfällen erreichen. Obwohl sie nicht so prägnant ist wie die Syntax von Objective C, bleibt sie eine zuverlässige Lösung in Java.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3