美文网首页
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