好吧,在第二种情况下,编译后的代码可能包含两次强制转换-因此 ,从理论上讲,
它两次执行相同的工作。但是,智能JIT很可能会得出您对相同的值执行相同的强制转换,因此可以缓存结果。但它 是 不得不做的工作至少一次-
毕竟,它需要做出决定是否允许投成功,或抛出异常。
与以往一样,如果您关心性能,则应该测试和分析代码-但是我个人还是会使用第一种形式,只是因为它对我而言更具可读性。

好吧,在第二种情况下,编译后的代码可能包含两次强制转换-因此 ,从理论上讲,
它两次执行相同的工作。但是,智能JIT很可能会得出您对相同的值执行相同的强制转换,因此可以缓存结果。但它 是 不得不做的工作至少一次-
毕竟,它需要做出决定是否允许投成功,或抛出异常。
与以往一样,如果您关心性能,则应该测试和分析代码-但是我个人还是会使用第一种形式,只是因为它对我而言更具可读性。