首页 > 编程语言 > 详细

java String 加法重载是在哪里实现的

时间:2015-10-16 11:56:54      阅读:193      评论:0      收藏:0      [点我收藏+]

我们知道,java中是不允许程序员重载任何操作符的,那么String的加法重载是如何实现的呢?

查看String的源代码,没法发现任何关于加法重载的线索。

查找相关书籍,找到以下一段说明:

   用于String的“+”与“+=”是java中仅有的两个重载过的操作符

看来确实发生了重载,那究竟是在哪里实现重载的呢?看一下下面的例子

String s1 = "foo";  
String s2 = "bar";  
String s3 = s1 + s2;

下面我们将这个代码编译成class文件并反编译,我们得到反编译后的代码如下:

String s = "foo";  
String s1 = "bar";  
String s2 = (new StringBuilder()).append(s).append(s1).toString();

可以看出,重载的事编译器帮我们给做了。

虽然这个唯一的加法重载增加了语言的可读性,但无疑也提高的java语言的学习成本。

关于编译器如何实现的,后续将进行补充。

java String 加法重载是在哪里实现的

原文:http://taoxueba.blog.51cto.com/6257657/1703440

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!