返回介绍

3.1.11 字串运算符+

发布于 2024-10-15 23:56:12 字数 737 浏览 0 评论 0 收藏 0

这个运算符在 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 的早期版本),请务必保证第一个元素是字串(或加上引号的一系列字符,编译能将其识别成一个字串)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文