I actually like how conservative Java has been with making language changes.

People go nuts with language features because they can, not necessarily because they have a good reason. this it the big problem I have with Scala, for example.

Sure arithmetic operator overloading with numeric types makes sense. Even the parenthesis operator overloading in C++ for functors makes sense.

Then you have the Scala SBT build system and percent operator overloading.

I actually like how Rust does this. You don't overload the operators per se. You implement traits with named methods like Add that will allow you to use the operators. This, to me, is the best of both worlds.

I personally think Java has been just fine without operator overloading so there's no pressing need to add it now but, if they do, please follow the Rust model.

I believe that once value types will be adopted by the JVM, operator overloading proposal for Java will be imminent. Meanwhile, there's actually a way to introduce operator overloading into your Java codebase today, the compiler plugin is called Manifold [1]

[1] https://github.com/manifold-systems/manifold