java布尔值_Java中的布尔值与布尔值

b63c396c43d50131a14c6ff3f5b1eb38.png

HUX布斯

我有点扩展了提供的答案(因为到目前为止,他们专注于他们自己的“自己的” /人工术语,侧重于对特定语言进行编程,而不是照顾一般情况下(即当事情发生时)创建编程语言的幕后情景。就像类型安全性与内存注意事项有所不同):int不是布尔值考虑    boolean bar = true;          System.out.printf("Bar is %b\n", bar);    System.out.printf("Bar is %d\n", (bar)?1:0);    int baz = 1;           System.out.printf("Baz is %d\n", baz);    System.out.printf("Baz is %b\n", baz);带输出    Bar is true    Bar is 1    Baz is 1    Baz is true第3行上的Java代码(bar)?1:0说明,不能将bar(布尔值)隐式转换(转换)为int。我提出这一点并不是为了说明JVM背后的实现细节,而是要指出,就低级考虑(作为内存大小)而言,确实要优先于值而不是类型安全。特别是如果没有像布尔类型那样真正/完全使用类型安全性,在布尔类型中以如果值\ in {0,1},则强制转换为布尔类型,否则抛出异常。所有人只是说{0,1} 更快的速度。”这就是为什么当完成实际的类型推断时,如果有必要的话,它可能(仍然)最终用所有类型信息实例化包装类(或将其转换/转换为此类)。因此,布尔值和布尔值之间的区别恰好在编译和运行时(有点远,但几乎与instanceof与getClass()一样)。最后,自动装箱比原始装箱慢注意Java可以自动装箱的事实只是“语法糖”。它不会加快任何速度,只是允许您编写更少的代码。而已。仍将类型转换和包装到类型信息容器中。出于性能原因,请选择算法,该算法将始终跳过使用类型信息创建类实例以实现类型安全性的额外工作。缺乏类型安全性是您获得性能的代价。对于具有布尔值表达式的代码,类型安全(当您编写更少并因此隐式代码时)对于例如if-then-else流控制至关重要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值