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 个字符串。
最佳答案
如果 case 值是常量,则相同的规则适用于类常量池,就好像它根本不在 case 语句中一样。
这是一个good answer to a similar question这可能对你有帮助。
关于java - 在 Java 中用字符串切换大小写 - 垃圾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15552682/