问题描述
我正在对 Java 7 的新功能进行 POC.我有在 switch 语句中使用 String 的代码,它可以工作.我也想让它在不区分大小写的情况下工作.有没有办法在 String 上使用 ignoreCase 进行检查?
I am doing a POC on Java 7 new features. I have code to use String in switch statement and it works. I want to make it work in case insensitive also. Is there a way to check out with ignoreCase on String?
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; } } }
推荐答案
不,但你可以打开 s.toUpperCase().所以:
no, but you could switch on s.toUpperCase(). so:
switch (s.toUpperCase()) { //same as before }
虽然我们在吹毛求疵,但您最好将英文语言环境中的大写字母改为 避免土耳其语问题
and while we're nitpicking, you better upper-case things in the english locale to avoid issues with turkish