Java7中Switch语句支持String

Java7新特性Swith语句中支持String

实例:


public class StringSwitch {
    public static void main(String[] args) {
            System.out.println(getExpendedMessage("one"));
            System.out.println(getExpendedMessage("three"));
            System.out.println(getExpendedMessage("five"));
    }
     static String getExpendedMessage(final String token)
        {
            switch (token)
            {
                case ("one"):
                    return "Token one identified";

                case ("two"):
                    return "Token two identified";

                case ("three"):
                    return "Token three identified";

                case ("four"):
                    return "Token four identified";

                default:
                    return "No token was identified";
            }
        }
}

输出如下:

Token one identified

Token three identified

No token was identified

参考:click here

时间: 2024-10-15 03:54:24

Java7中Switch语句支持String的相关文章

Java switch 语句使用 String 参数

原文同步至 http://www.waylau.com/java-switch-use-string/ 当我尝试在 switch 语句使用 String 参数时(注意ctrType为字符串) switch (ctrType) { case "01" : exceptionType = "读FC参数数据"; break; case "03" : exceptionType = "读FC保存的当前表计数据"; break; def

java中switch语句中的defaul条件的位置

在java中switch语句中,每个case分支就是一个入口,如果都没有满足条件,那么将会走到default分支中.那么这个default分支的位置会不会影响到执行的流程呢? package com.app.statement; import java.util.Scanner; /**  * Created by charles on 2015/7/12.  */ public class SwitchTest {     public static void main(String[] ar

java7中switch比较字符串

在java1.7之前大家都清楚switch的比较范围只能局限于(int .short .byte .char)之间,Java 虚拟机和字节代码这个层次上,只支持在 switch 语句中使用与整数类型兼容的类型.在1.7后switch实现字符串比较的功能.具体是如何做到的?实际上,Java虚拟机和字节码层次上只支持switch语句中使用与整数类型兼容的类型没有变,只是这个实现字符串比较的新特性是在编译器这个层次上实现的.实现的机制是:将字符串之间的比较转换为其哈希值的比较. 空口无凭,代码为证.

C++中switch 语句中的变量声明和

switch 内部的变量定义: 1 int i = 1; 2 switch(i) 3 { 4 case 0: 5 string str; //error 6 int val1 = 0; //error 7 int val2; //right 8 int val3; val3 = 0; //right 9 case 1: 10 val2 = 9; 11 cout << val2 << endl; 12 } <C++ Primer> P163: 如果在某处一个带有初始值的变

Java基础知识强化19:Java中switch分支语句

java中switch语句: 这里expression控制表达式的数据类型只能是byte.short.char.int四种整型类型和枚举类型,不能是boolean类型: Java7(1.7)改进了switch分支语句: Java7允许switch语句中的控制表达式为java.lang.String类型(不能是StringBuffer 或者 StringBuilder) switch(expression) {     case  condition1:          {          

switch语句的参数类型

在JDK1.6的版本中,switch后面的括号里面只能放int类型的值,注意是只能放int类型, 但是放byte,short,char类型的也可以. 是因为byte,short,shar可以自动提升(自动类型转换)为int. 而不能放long型和String型. 而在JDK1.7的版本中,switch中可以使用字串String.但仍不支持long型. String name = "b"; switch(name) { case "b": System.out.pri

Swift中switch强大的模式匹配

不少人觉得Swift中switch语句和C或C++,乃至ObjC中的差不多,此言大谬! 让本猫带领大家看一下Swift中switch语句模式匹配的威力. 所谓模式匹配就是利用一定模式(比如couple)去定制自己需要的匹配结果,比如以下一个3D空间的点坐标: let point3D:(x:Int,y:Int,z:Int) = (1,2,3) 我们首先做一些简单的匹配,只是简单的比较是否等于或不等于指定的常量: switch(point3D){ case (0,0,0):print("Origin

语句 - switch语句

switch语句与if语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句. ECMAScript中switch语句的语法与其他基于C语言非常接近,如下所示: switch(expression){ case value:statement break; case value:statement break; case value:statement break; default:statement } switch语句中的每一个情形(case)的含义是:“如果表达式等于这个值(va

java7 语法糖 之 switch 语句中的string

Jdk7新增的switch 语句中常量可以string类型, 例如: @Test public void test_1(){ String string = "hello"; switch (string) { case "hello": System.out.println(string); break; default: throw new IllegalArgumentException("非法参数"); } } 语法糖的背后,其实用的对待