美文网首页
switch String

switch String

作者: 百炼 | 来源:发表于2019-02-25 13:47 被阅读0次

    Switch String

    [TOC]

    对String的处理

    java 7 才开始支持Switch String,实现方式是根据StringhashCodeString映射到一个byte上面,再采用switch byte的方式给予支持。

    虽然本例是将String映射到了byte,但不难相像如果Switch分支过多的话,会映射到int

        String str = "\"_";
        final String s1 = "\"_";
        final String s2 = "!~";
        final String s3 = "hello";
    
        /**
            * s1 和 s2 有相同的 hashCode
            */
        switch (str) {
            case s1:
                System.out.println(s1);
                break;
            case s2:
                System.out.println(s2);
                break;
            case s3:
                System.out.println(s3);
                break;
            default:
                System.out.println("default");
                break;
        }
    

    要明确几点

    • switch 不支持long
    • switch 中的 case var: var必须是常量
    Java中的Switch String本质

    相关文章

      网友评论

          本文标题:switch String

          本文链接:https://www.haomeiwen.com/subject/kvzwyqtx.html