【发布时间】:2011-05-26 23:39:47
【问题描述】:
Java 中枚举中允许的最大元素数是多少?
我想找出 switch 语句中的最大 case 数。由于 switch 中允许的最大原始类型是 int,因此我们有从 -2,147,483,648 到 2,147,483,647 的情况和一种默认情况。但是也允许使用枚举...所以问题..
【问题讨论】:
-
我不知道,但想知道你在想什么类型的代码,这需要知道枚举的最大大小 lol
-
如果看到 20 亿个案例的开关,我可能会杀死任何接触过该代码的人。
-
考虑一种情况下的字节码将占用 10 个字节的堆。那么从 -2,147,483,648 到 2,147,483,647 的案例将占用 40 GB 的 RAM。如果每个 case 语句需要 3 行源代码,那么你就有 12884901885 行代码。这是一个沉重的课程:-)
-
另外值得注意的是,Java 7 将允许在字符串上切换,因此您找到“最大切换案例数”的目标可能比看起来更加误导。
-
是的,将每个元素生成为 print "A"+str(i)+"," ,其中 i 在循环中的索引中...
标签: java enums switch-statement