小编Sha*_*aun的帖子

为什么Java和C#没有隐式转换为布尔值?

自从我开始使用Java以来​​,它一直非常恶心,因为它不支持从数字类型到布尔值的隐式转换,所以你不能做以下事情:

if (flags & 0x80) { ... }
Run Code Online (Sandbox Code Playgroud)

相反,你必须经历这种疯狂:

if ((flags & 0x80) != 0) { ... }
Run Code Online (Sandbox Code Playgroud)

null和对象也是一样的.我知道的其他类似C语言包括JavaScript允许它,所以我认为Java只是愚蠢的,但我刚刚发现C#是相同的(至少对于数字,不知道null /对象): http: //msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx

微软故意用C++改变它,为什么呢?显然我错过了一些东西.为什么要改变(我认为是)世界上最自然的事情,让它更长久才能打字?地球上有什么问题呢?

c# java boolean type-conversion

27
推荐指数
5
解决办法
3321
查看次数

标签 统计

boolean ×1

c# ×1

java ×1

type-conversion ×1