0

Java 在其 Java7 中引入了带字符串的 switch case。我想知道使用这种开关盒是否会产生垃圾。

例如在我的程序中,

String s = getString();
switch(s) 
{
    case ABC: // ABC is a final static constant
    ...
    case CDE: // CDE is also final static constant.
    ...
}

java如何执行这个switch case。假设这些开关盒有 10 个。string s每次与等匹配时它会创建一个新字符串case ABC吗?

如果是这样的话,那就太垃圾了,所以当我给 switch case 有 100 个 case 时,每次都会创建 100 个字符串。

4

1 回答 1

5

如果 case 值是常量,则对于类常量池适用相同的规则,就好像它根本不在 case 语句中一样。

这是对可能对您有所帮助的类似问题的一个很好的答案

于 2013-03-21T16:16:52.390 回答