🤔
前言: 最近重看Java常量初始化规范时候,看到关于Long的一个初始化说法,这里记录一下。
 
先看下以下代码,test1,2,3会打印输出什么?
对应test1变量,相乘结果大于Integer最大值,会溢出;对于test2,结果小于Integer最大值,所以值是正确的;对于test3,500L是long型,所以计算的结果也是long,值也是正确的。
在IDEA里编码时,对于这种常量值会溢出的,会有提示,但对于long,默认还是带L比较好。
 
notion image
 
再来看下以下代码,在编译完后,值有什么区别?
对于类和方法里只带常量计算的变量,编译器会直接赋计算好后的值;对于 final 的基本类型,会发生值替换。
 

📎 参考资料

 
 
Java常见HashMap遍历方式性能分析Ubuntu22.04安装HAProxy、NGINX
Loading...