Ich mache eine POC auf Java 7 neue Funktionen. Ich habe Code, um String in switch-Anweisung zu verwenden, und es funktioniert. Ich möchte, dass es funktioniert, auch wenn die Groß- und Kleinschreibung nicht beachtet wird. Gibt es eine Möglichkeit, mit ignoreCase auf String auschecken?Switch ignorieren Fall in Java 7
package com.java.j7;
public class Test {
final private String _NEW ="NEW";
final private String _PENDING = "PENDING";
final private String _CLOSED = "CLOSED";
final private String _REJECTED ="REJECTED";
public static void main(String... strings){
Test j = new Test();
j.processItem("new");
j.processItem("pending");
j.processItem("closed");
j.processItem("rejected");
}
void processItem(String s){
switch (s) {
case _NEW:
System.out.println("Matched to new");
break;
case _PENDING:
System.out.println("Matched to pending");
break;
case _CLOSED:
System.out.println("Matched to closed");
break;
case _REJECTED:
System.out.println("Matched to rejected");
break;
default:
System.out.println("Not matching any more");
break;
}
}
}
In diesem Fall würde ich 's.toUpperCase' vorschlagen, da die Übereinstimmungen in Großbuchstaben sind;) – MadProgrammer
ursprünglich enthielt ich Code, der auch die Konstanten lud, aber yeah, Großbuchstaben ist weniger Arbeit – radai
Heute würde ich' Locale bevorzugen .ROOT' in diesem Fall, um die Tatsache zu dokumentieren, dass diese hartcodierten Konstanten nicht wirklich englische Kulturprobleme sind. Es wurde in Java 6 hinzugefügt. Übrigens gibt es heute mehr Gebietsschemas als Türkisch mit speziellem Fallvergleichsverhalten. – Holger