Preámbulo: Soy consciente de la utilización de una lista o de otras colecciones a devolver un resultado, pero luego tengo que ir a través de la lista arrancando los resultados a cabo: véase el segundo ejemplodevolver varios valores en Java
Preámbulo-2: estoy buscando una respuesta más allá de 'esto no es compatible con Java ...'
Busco una forma conveniente para devolver varios objetos de una llamada a un método Java.
Algo así como en PHP:
list ($obj1, $obj2, ...) foobar();
realmente estoy cansando de los objetos que pasan titular en los argumentos por ejemplo:
class Holder {
int value;
}
Holder h1=new Holder();
Holder h2=new Holder();
y luego:
o.foobar(h1,h2);
... estaría muy interesado si alguien ha encontrado una forma elegante de evitar esto.
Usando una lista
List<String> = foobar();
Hay dos desventajas de este:
tengo que empacar en primer lugar la lista de la parte llamada de la casa:
// this is on the callee side of the house
ArrayList<String> result = new ArrayList<String>
result.add("foo");
result.add("bar");
Luego, en el lado de la persona que llama, tengo que sacar los resultados:
// This is on the caller side
List<String> result = foobar();
String result1 = result.get(0);
String result2 = result.get(1); // this is not as elegant as the PHP equivalent
Además, decir que quería devolver objetos de diferentes tipos decir cadena, entero tendría que devolver una lista de objetos y luego emitir cada objeto ... no es bonito
Gracias.
Simplemente devolvería una lista – keyser
¿Cuál es el problema con la devolución de la lista? –
Editado. Una "mano vieja" en Java no haría esta pregunta, y el original pareció un poco sarcástico. –