为什么不呢!(没有)超载?

emp*_*e-0 1 java

看起来

! 
Run Code Online (Sandbox Code Playgroud)

用于布尔操作数

~
Run Code Online (Sandbox Code Playgroud)

用于整数类型来进行btitwise否定.

为什么不只是重载!以使用整数类型?

我假设有一个更深层次的原因,而不是因为"规范说的如此"

例如&,重载以处理整数类型和布尔类型没有问题.

Col*_*n D 6

可能的原因(阅读纯粹的猜测).

Java来自c和c ++.

在c/c ++中!关于整数的含义不是按位否定.

Java开发人员不希望让从c/c ++转换为Java的人变得困难.