Мне нужен метод нестатического экземпляра для возврата нескольких значений. Для простого примера предположим, что это boolean success
и Object obj
, но в общем случае их может быть больше, и они могут быть не связаны друг с другом. Можно подумать о нескольких разных способах этого:
Решение 1
private boolean aMethod(int aParam, Object obj) { ...set obj parameter & return value... }
Решение 2
private Pair<Boolean, Object> aMethod(int aParam) { ...set return pair values... }
Решение 3
private Object obj;
...
private boolean aMethod(int aParam) { ...set obj field & return value... }
Решение 4
private class MethodReturn { // Nested class - could be a separate class instead
boolean success;
Object obj;
// ... Getters and setters omitted for brevity
}
private MethodReturn aMethod(int aParam) { ...set return object values... }
Есть ли еще возможности, которые я мог пропустить? И может ли кто-нибудь прокомментировать плюсы и минусы каждого (и в идеале, которые могут быть лучше всего использовать в большинстве случаев)?