Correspondance insensible à la casse dans l'instruction de casse Java
Je me demandais si il existe un moyen pour effectuer casse match en java commutateur de cas. l'implémentation par défaut est sensible à la casse. Veuillez voir l'exemple ci-dessous.
public class SwitchCaseTest {
/**
* @param args
*/
public static void main(String[] args) {
switch ("UPPER") {
case "upper" :
System.out.println("true");
break;
default:
System.out.println("false");
break;
}
}
}
Donc au-dessus de l'énoncé renvoie false
en sortie. Et je suis en train de le faire fonctionner pour casse match comme String.equalsIgnoreCase()
ferait. J'ai essayé de convertir à la fois le littéral de chaîne en minuscules puis de les comparer. mais a été incapable de le faire.
source d'informationauteur Punith Raj
Vous devez vous connecter pour publier un commentaire.
Si vous voulez le faire: assurez-vous que les données d'entrée sont en minuscules, et utiliser des minuscules cas...
Problèmes de localisation
Aussi, les âges vieux problème de la localisation de frappe à nouveau, et fléaux de cette chose trop... Par exemple, à la turque Locale, les majuscules homologue de
i
n'est pasI
maisİ
... Et en retour, laI
n'est pas transformé ài
mais un "sans point i":ı
. Ne pas sous-estimer, il peut être une erreur fatale...Vous essayez de faire tout en majuscules ou en minuscules
ou
ou encore mieux utiliser enum (à noter qu'il est possible qu'à partir de Java 7)
essayer