运算符在Java中重载

请你能告诉我是否有可能在Java中重载运算符? 如果它在Java的任何地方都可以使用,请告诉我。


不,Java不支持用户定义的运算符重载。 接近“自定义”操作符重载的Java的唯一方面是处理字符串的+,这可以导致使用StringBuilder / StringBuffer进行常量的编译时串联或执行时串联。 你不能定义你自己的操作符,但它们的行为方式相同。

对于支持运算符重载的类Java(和基于JVM的)语言,您可以看看Groovy。 或者,您可能会发现Java编译器插件解决方案的运气。


运算符重载在Java中用于串联字符串类型:

String concat = "one" + "two";

但是,您无法定义自己的操作符重载。


除了所有的人指出+为字符串重载外, -对于浮点和整数操作也是重载的,就像*/

%对于浮点也是重载的,对于那些具有C或C ++背景的人来说,这可能有点令人惊讶。

链接地址: http://www.djcxy.com/p/73093.html

上一篇: Operator overloading in Java

下一篇: How to overload the friend extraction operator (>>) for templates in C++?