Bom, eu tenho uma dúvida meio medonha … la vai : é possivel retornar mais de uma variavel num método, tipo :
public meu método() {
int a =1;
int b = 2;
... coisas que o método faz ...
return a ; // mas eu gostaria de retornar o b também , mas não queria concatenar os dois entedem? tipo a + b
}
Em C++ há uma coisa muito costumeira, quando precisamos retornar um par de valores, que é o uso do template pair<>. É tão frequente que faz parte das bibliotecas padrões do C++.
Em Java, você pode também criar uma classe genérica Pair<T, U> que pode ser usada para retornar um par de valores. Exemplo:
public class Pair<T, U> {
public Pair(T t, U u) { first = t; second = u; }
public T first;
public U second;
@Override public String toString() { return "(" + first + "," + second + ")"; }
}
Exemplo de uso:
public Pair<String, Integer> metodo () {
String a = "bababa";
Integer b = 42;
return new Pair (a, b);
}
...
Pair<String, Integer> resultado = obj.metodo();
System.out.println ("a = " + resultado.first);
System.out.println ("b = " + resultado.second);