I'd say operator overloading was more relevant to the level of abstraction that is library design. Like any competent programmer I can work at any level of abstraction, once I've appreciated what fits and what doesn't.
Leave operator overloading out of Java? Why not, how often would you be defining a primitive that some would expect to see in a language, like say a matrix, or a complex number. Not very. You would normally be working at far higher levels of abstraction than that, if you aren't I'd say you were using the wrong language.
The sort of halfwit who overloads addition and assignment to do Cheque = Invoice + Authorisation is what I was alluding to. 9/10 the reason given is terseness, which is about the worst justification anyone could possibly come up with in the real world.
Not someone who provides overloads of those operator for say matrices or complex numbers.
That isn't some skill gap between application and library developers, it's a skill gap between incompetent and competent.
Keep Up with TechRepublic