cwzb.net
当前位置:首页 >> jAvA运算符重载 >>

jAvA运算符重载

你说的很对,Java除了String重载了+之外,不支持其他操作符的重载 我估计是你由C转来的程序员,这和C/C++是不一样的 Java的一个目的是摒弃C/C++中的操作符重载,使得语言更简单、明确,避免大量重载运算法造成的混乱。 实际上Java中你想使用运算...

java是不能自己重载运算符的,唯一一个可以重载的运算符是+并且这个+还是库函数已经弄好了的。你可以用相应的函数替代就可以了,不一定非要运算符不可的。

我觉得楼主的疑虑并不矛盾埃或许是楼主误解了。java不允许运算符重载指的是用java来写代码的人吧。意思就是说用java不能像用c++那样给我们提供了重载运算符的方式。并不是说java里面就不存在运算符重载。 而这个字符串连接运算符 + 就是重载的。...

java中没有运算符重载,你说的string+string,是java内置将String类特殊处理为和基本类型Integer,Double等相同的类型,字符串相加实际是调用方法append方法。 比如: String x = "a1" + "a2" 其实在编译后,代码变为 String x = (new StringBuil...

运算符重载实际是对象方法调用的语法糖,所以不支持运算符重载不降低语言的能力。

不好意思,我看错了,是运算符,是不支持的,支持1楼的

我觉得楼主的疑虑并不矛盾埃或许是楼主误解了。java不允许运算符重载指的是用java来写代码的人吧。意思就是说用java不能像用c++那样给我们提供了重载运算符的方式。并不是说java里面就不存在运算符重载。 而这个字符串连接运算符 + 就是重载的。...

从语言一级来看,java不支持运算符重载。 String类的"=","+","+=",看似运算符重载,实际不是,只是在java编译器里做了一点手脚。 java编译器对String的运算符做了特殊处理。 比如: String s = "s1"; s += "s2"; 编译器转换成了: String s = "...

+ 加号运算符 . String对象可以使用 + 作为连接符 具体代码 String str1 = "abc";System.out.println(1+2+str1);//第一步 1+2=3. //第二步 3+"abc"-->结果就是3abcjava 5以后的版本底层使用了StringBuffer优化了字符串的连接符 + , 这样就可以让...

网站首页 | 网站地图
All rights reserved Powered by www.cwzb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com