2010-11-22 11 views

Respuesta

18

Claro, utiliza el instanceof operator:

if (x instanceof String) { 
    ... 
} 

if (x instanceof String[]) { 
    ... 
} 

etc. No es lo ideal para tener que hacer esto, claro está ... ¿Hay alguna forma de poder rediseñar su API para evitar esto?

+2

¿Por qué no es ideal? – Konerak

+3

Debido a la preocupación por la orientación del objeto. El solo hecho de usar 'instanceof' es equivalente, en este caso, a decir" mi método podría haber devuelto 'String []' en todos los casos (ya que 'String' siempre se puede poner en' String [1] ') , pero como no fui lo suficientemente inteligente como para hacerlo, preferí devolver cualquier cosa y dejar que te las arregles con eso ". – Riduidel

+1

La manera más fácil de cambiar la API es devolver siempre una Cadena [], en lugar de la Cadena a String [] del tamaño 1. – extraneon

7

Vuelva a escribir el método para devolver siempre String[], incluso cuando solo haya uno solo.

Mejor aún, devuelva List<String> y use Collections.singletonList() para la carcasa de un solo elemento.

Cuestiones relacionadas