Solución:
No, Java no admite la sobrecarga de operadores definidos por el usuario. El único aspecto de Java que se acerca a la sobrecarga de operadores “personalizados” es el manejo de + para cadenas, que da como resultado una concatenación de constantes en tiempo de compilación o una concatenación en tiempo de ejecución usando StringBuilder / StringBuffer. Sin embargo, no puede definir sus propios operadores que actúan de la misma manera.
Para un lenguaje similar a Java (y basado en JVM) que lo hace Apoyar la sobrecarga del operador, podría mirar a Kotlin o Groovy. Alternativamente, puede encontrar suerte con una solución de complemento de compilador de Java.
La sobrecarga del operador se usa en Java para la concatenación del tipo String:
String concat = "one" + "two";
Sin embargo, tu no poder defina sus propias sobrecargas de operador.
Además de todas las personas señalando que +
está sobrecargado de cadenas, -
también está sobrecargado para operaciones de punto flotante y enteros, al igual que *
y /
.
[edit]
%
también está sobrecargado para el punto flotante, lo que puede ser un poco sorprendente para aquellos con experiencia en C o C ++.