牛骨文教育服务平台(让学习变的简单)
博文笔记

Java SE7新特性之switch语句中使用字符串

创建时间:2014-01-02 投稿人: 浏览次数:9239
public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {
     String typeOfDay;
     switch (dayOfWeekArg) {
         case "Monday":
             typeOfDay = "Start of work week";
             break;
         case "Tuesday":
         case "Wednesday":
         case "Thursday":
             typeOfDay = "Midweek";
             break;
         case "Friday":
             typeOfDay = "End of work week";
             break;
         case "Saturday":
         case "Sunday":
             typeOfDay = "Weekend";
             break;
         default:
             throw new IllegalArgumentException("Invalid day of the week: " + dayOfWeekArg);
     }
     return typeOfDay;
}

switch 语句比较表达式中的 String 对象和每个 case 标签关联的表达式,就好像它是在使用String.equals 方法一样;因此,switch语句中 String 对象的比较是大小写敏感的。相比于链式的if-then-else语句,Java编译器通常会从使用String 对象的switch 语句中生成更高效的字节码。


 本文翻译自Oracle官方文档http://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html,如有不正确的地方,敬请指正,谢谢!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。