科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java的字串运算符+

Java的字串运算符+

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  这个运算符在Java里有一项特殊用途:连接不同的字串。这一点已在前面的例子中展示过了。尽管与+的传统意义不符,但用+来做这件事情仍然是非常自然的。在C++里,这一功能看起来非常不错,所以引入了一项“运算符过载”机制。

作者:中国IT实验室 来源:中国IT实验室 2007年9月26日

关键字: 编程 java

  • 评论
  • 分享微博
  • 分享邮件

  这个运算符在Java里有一项特殊用途:连接不同的字串。这一点已在前面的例子中展示过了。尽管与+的传统意义不符,但用+来做这件事情仍然是非常自然的。在C++里,这一功能看起来非常不错,所以引入了一项“运算符过载”机制,以便C++程序员为几乎所有运算符增加特殊的含义。但非常不幸,与C++的另外一些限制结合,运算符过载成为一种非常复杂的特性,程序员在设计自己的类时必须对此有周到的考虑。与C++相比,尽管运算符过载在Java里更易实现,但迄今为止仍然认为这一特性过于复杂。所以Java程序员不能象C++程序员那样设计自己的过载运算符。
  我们注意到运用“String +”时一些有趣的现象。若表达式以一个String起头,那么后续所有运算对象都必须是字串。如下所示:
  int x = 0, y = 1, z = 2;
  String sString = "x, y, z ";
  System.out.println(sString + x + y + z);
  在这里,Java编译程序会将x,y和z转换成它们的字串形式,而不是先把它们加到一起。然而,如果使用下述语句:
  System.out.println(x + sString);
  那么早期版本的Java就会提示出错(以后的版本能将x转换成一个字串)。因此,如果想通过“加号”连接字串(使用Java的早期版本),请务必保证第一个元素是字串(或加上引号的一系列字符,编译能将其识别成一个字串)。
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件