我在java中发现很多书说switch语句比if语句更快.但我没有找到说明为什么开关比如果更快的地方.
我有一种情况我必须选择两个中的任何一项我可以使用以下任一方式
switch(item){
case BREAD:
//eat Bread
break;
default:
//leave the restaurant
}
Run Code Online (Sandbox Code Playgroud)
或使用if语句如下
if(item== BREAD){
//eat Bread
}else{
//leave the restaurant
}
Run Code Online (Sandbox Code Playgroud)
考虑项目和BREAD是常量int值
在上面的例子中,哪个更快,为什么?
Java中的静态枚举和非静态枚举有什么区别?两种用法都是一样的.
这是正确的吗? 所有静态的都在启动时加载到内存中,非静态的是按需加载的?
如果是,那么哪种方法更好?是否始终将一些数据保存在内存中或使用服务器资源加载它们?
public class Test {
public enum Enum1 {
A, B
}
public static enum Enum2 {
C, D
}
public static void main(String[] args) {
Enum1 a = Enum1.A;
Enum1 b = Enum1.B;
Enum2 c = Enum2.C;
Enum2 d = Enum2.D;
}
}
Run Code Online (Sandbox Code Playgroud)