01-Kotlin的WhenElse一共有几种写法
Int等基本类型的WhenElse
1 | private fun whenElseInt(intNumber: Int) { |
编译后的字节码
1 | private final static whenElseInt(I)V |
可以看到,编译器生成了TABLESWITCH
指令,可以根据数值快速查表,找到跳转位置
如果是一下几种情况,则不会生成TABLESWITCH
1 | private fun whenElseInt(intNumber: Int) { |
编译后的字节码
1 | private final static whenElseInt(I)V |
可以看到,编译器生成了TABLESWITCH
指令,可以根据数值快速查表,找到跳转位置
如果是一下几种情况,则不会生成TABLESWITCH
循环与数组的length
比较
1 | public class JavaMain { |
将数组length
存在方法栈中
1 | public class JavaMain { |
for-each循环
1 | public class JavaMain { |
1 | public class JavaMain { |
1 | result = 360970567, time = 1.393 |