使用operator +进行字符串连接,从什么时候开始?

时间:2013-09-09 09:26:21

标签: java operator-overloading string-concatenation

所以我的问题很简单;

  1. 谁是第一个使用加法运算符进行字符串连接的人?
  2. 如果是Java,他们怎么决定这样做?
    • 因为看起来Sun在Java中明确禁止运算符重载,因为它允许您重新定义运算符,从而打破了对该运算符的假设。
    • 然而他们决定实现一个字符串连接加法运算符,它违反了加法运算符的交换属性?

1 个答案:

答案 0 :(得分:1)

根据java,编写代码的程序员不能重载运算符,但只要java语言+运算符被重载,它对基元(如int和double)和String对象执行加法。

  

在支持C ++等运算符重载的语言中,您可以转动+运算符来执行减法,从而导致代码不佳。这就是Java设计人员不允许程序员过载运算符的情况。

在Java String中,对象在Java中得到特殊处理,因为它们经常在程序中使用.Primitives存储在调用堆栈中,这需要更少的存储空间并且操作起来更便宜。另一方面,对象存储在程序堆中,这需要复杂的内存管理和更多的存储空间 出于性能原因,Java的String设计在原语和类之间。

  

字符串文字存储在公共池中。这有助于共享具有相同内容的字符串的存储空间以节省存储空间。这也是一种情况Java设计者认为重载+进行字符串连接以提高性能并为程序员提供便利。