Retornar mais de uma variavel no método

Fala ai galera,

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
 
}

Desde já agradeço , abraços…

Uma forma é utilizar um array.

Pesquise sobre ArrayList ou HashMap.

Att.

Marco Aurélio

  1. Você pode voltar um objeto, contendo os dois valores.
  2. Você pode voltar um array de 2 posições.
  3. Você pode ter 2 métodos, um retornando “a” e outro retornando “b”.

Boa… vlw kras… não tinha pensado na idéia de usar array, vou testar … Obrigado!!!

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);

Eu normalmente uso o esquema do Pair ou entao um objeto mais adequado dependendo do caso.