尚学堂|又到求职季,这些难回答的Java面试题,你能答对几道?( 二 )

Integer i = 100; (注意:不是 int i = 100; )

实际上 , 执行上面那句代码的时候 , 系统为我们执行了:Integer i = Integer.valueOf(100);

此即基本数据类型的自动装箱功能 。

2、为什么Java不支持运算符重载?

为什么 C++ 支持运算符重载而 Java 不支持? 有人可能会说+运算符在 Java 中已被重载用于字符串连接 , 不要被这些论据所欺骗 。

与 C++ 不同 , Java 不支持运算符重载 。 Java 不能为程序员提供自由的标准算术运算符重载 , 例如+ , - , *和/等 。 如果你以前用过 C++ , 那么 Java 与 C++ 相比少了很多功能 , 例如 Java 不支持多重继承 , Java中没有指针 , Java中没有引用传递 。 另一个类似的问题是关于 Java 通过引用传递 , 这主要表现为 Java 是通过值还是引用传参 。 虽然我不知道背后的真正原因 , 但以下说法有些道理 , 为什么 Java 不支持运算符重载 。

推荐阅读