java-oo
java-oo copied to clipboard
Overload === for equals()
Can you overload a new operator === for equals() ?
I mean:
var1.equals(var2) -> var1 === var2
That world be great if that can be done!
just doing that is going to hurt if var1 is null, but it should also evaluate to true if both are null, so
(var1==var2 || (var1!=null && var1.equals(var2)))
If I may, I tried java-oo once looking for operator overloading... but when I discovere Kotlin, it was another different world...
I just accept that java is what it is.. and I spent so much time in workarounds for its limitations that I regret I didn't try earlier to look around for alternatives..
Give a try to Kotlin (100% java compatible), you won't regret (Sorry for the ot!)
my 2 cents
=== is a new lexeme for a Java Parser. But java-oo works only after parsing stage (yet), so adding completely new syntactic constructs will require much work.
I don't have time for this, but I'm open to contributions.
Probably it is possible to modify javac parser via javac 8 Plugin API[1]. But Eclipse and IntelliJ will require major hacks.
[1]: https://docs.oracle.com/javase/8/docs/jdk/api/javac/tree/com/sun/source/util/Plugin.html
Could something like ~== work? It's two legal tokens ~ and == in an illegal arrangement. It resembles ≅ (APPROXIMATELY EQUAL TO, U+2245), which is semantically fine as equals is a weaker relation than ==.