Preambolo: Sono consapevole di utilizzare un elenco o altre collezioni per restituire un risultato, ma poi devo passare attraverso la lista spennare i risultati fuori: vedi 2 ° esempioritorno più valori in Java
Preambolo-2: I 'm alla ricerca di una risposta al di là di 'questo non è supportato in Java ...'
sto cercando un modo conveniente per tornare più oggetti da una chiamata di metodo Java.
Un po 'come in PHP:
list ($obj1, $obj2, ...) foobar();
Sono davvero stancando di passare oggetti supporto nelle argomentazioni, ad esempio:
class Holder {
int value;
}
Holder h1=new Holder();
Holder h2=new Holder();
e poi:
o.foobar(h1,h2);
... sarebbe molto interessato se qualcuno ha trovato un modo elegante per aggirare questo.
Utilizzando un elenco
List<String> = foobar();
Ci sono due svantaggi di questo:
devo mettere in valigia prima l'elenco sul lato callee della casa:
// this is on the callee side of the house
ArrayList<String> result = new ArrayList<String>
result.add("foo");
result.add("bar");
Poi dal lato del chiamante devo estrarre i risultati:
// 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
Inoltre, dire che volevo tornare oggetti di tipo diverso dire String, Integer avrei dovuto restituire un elenco di oggetti e poi gettato ogni oggetto ... non abbastanza
Grazie.
Vorrei semplicemente restituire una lista – keyser
Qual è il problema con la restituzione dell'elenco? –
Modificato. Una "vecchia mano" a Java non avrebbe fatto questa domanda, e l'originale è sembrato un po 'snervante. –