Estaba pensando si existe una forma mejor/más agradable de negar una instanceof
de Java. En realidad, estoy haciendo algo como:
if(!(myObject instanceof SomeClass)) { /* do Something */ }
Pero creo que debería existir una sintaxis "hermosa" para hacer esto.
¿Alguien sabe si existe y cómo se ve la sintaxis?
EDITAR: Por hermoso, podría decir algo como esto:
if(myObject !instanceof SomeClass) { /* do Something */ } // compilation fails
No, no hay mejor manera; el tuyo es canónico.
No sé qué imaginas cuando dices "hermoso", pero ¿y esto? Personalmente, creo que es peor que la forma clásica que publicaste, pero a alguien le podría gustar...
if (str instanceof String == false) { /* ... */ }
Podrías usar el método Class.isInstance
:
if(!String.class.isInstance(str)) { /* do Something */ }
... pero todavía es negado y bastante feo.