Преамбула: Я знаю об использовании списка или других коллекций для возврата результата, но затем мне нужно просмотреть список, выдергивая результаты : см. 2-й пример
Преамбула-2: я ищу ответ помимо "это не поддерживается в Java..."
Я ищу удобный способ вернуть несколько объектов из вызова метода Java .
Вроде как в PHP:
list ($obj1, $obj2, ...) foobar();
Я очень устал передавать объекты-держатели в аргументах, например:
class Holder {
int value;
}
Holder h1=new Holder();
Holder h2=new Holder();
, а затем:
o.foobar(h1,h2);
... было бы очень интересно, если бы кто-нибудь придумал элегантный способ обойти это.
Использование списка
List<String> = foobar();
У этого есть два недостатка:
Сначала я должен упаковать список на вызываемой стороне дома:
// this is on the callee side of the house
ArrayList<String> result = new ArrayList<String>
result.add("foo");
result.add("bar");
Затем на вызывающей стороне я должен извлечь результаты:
// 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
Далее, скажем, я хотел бы вернуть объекты разных типов, скажем, String, Integer. Мне нужно было бы вернуть список объектов, а затем привести каждый объект... некрасиво
Спасибо.