gpt4 book ai didi

Java双重初始化

转载 作者:IT老高 更新时间:2023-10-28 21:15:22 25 4
gpt4 key购买 nike

这些陈述有何不同?

  1. 双假人 = 0;
  2. 双假人 = 0.0;
  3. 双假人 = 0.0d;
  4. 双假人 = 0.0D;

最佳答案

尝试了一个简单的程序(同时使用 0 和 100,以显示“特殊”常量和一般常量之间的区别)Sun Java 6 编译器将为 1 和 2 输出相同的字节码(情况 3 和 4 相同就编译器而言,为 2)。

例如:

double x = 100;
double y = 100.0;

编译为:

0:  ldc2_w  #2; //double 100.0d
3: dstore_1
4: ldc2_w #2; //double 100.0d
7: dstore_3

但是,我在 Java 语言规范中看不到任何内容保证常量表达式的这种编译时扩展。对于以下情况,有编译时缩小:

byte b = 100;

section 5.2 中所述, 但这不完全一样。

也许比我眼睛更敏锐的人可以在某个地方找到保证......

关于Java双重初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com