问题
请问你是否有可能在Java中重载运算符?如果在Java中的任何地方使用它,请告诉我有关它的信息。
#1 热门回答(199 赞)
不,Java不支持用户定义的运算符重载。接近"自定义"运算符重载的Java的唯一方面是对字符串的处理,这会导致常量的编译时连接或使用StringBuilder / StringBuffer的执行时连接。你无法定义自己的操作符,但操作方式相同。
对于支持运算符重载的类Java(和基于JVM)语言,你可以查看Groovy。或者,你可能会发现aJava compiler plugin solution的运气。
#2 热门回答(32 赞)
运算符重载在Java中用于串联类型的串联:
String concat = "one" + "two";
但是,you不能定义你自己的运算符重载。
#3 热门回答(21 赞)
除了指出+
为Strings重载的所有人之外,-
还为浮点和整数运算重载,如*
和/
。
[编辑] %
也为浮点重载,这对于具有C或C背景的人来说可能有点意外。