运算符在Java中重载
请你能告诉我是否有可能在Java中重载运算符? 如果它在Java的任何地方都可以使用,请告诉我。
不,Java不支持用户定义的运算符重载。 接近“自定义”操作符重载的Java的唯一方面是处理字符串的+,这可以导致使用StringBuilder / StringBuffer进行常量的编译时串联或执行时串联。 你不能定义你自己的操作符,但它们的行为方式相同。
对于支持运算符重载的类Java(和基于JVM的)语言,您可以看看Groovy。 或者,您可能会发现Java编译器插件解决方案的运气。
运算符重载在Java中用于串联字符串类型:
String concat = "one" + "two";
但是,您无法定义自己的操作符重载。
除了所有的人指出+
为字符串重载外, -
对于浮点和整数操作也是重载的,就像*
和/
。
%
对于浮点也是重载的,对于那些具有C或C ++背景的人来说,这可能有点令人惊讶。
上一篇: Operator overloading in Java
下一篇: How to overload the friend extraction operator (>>) for templates in C++?