Troppo spesso mi trovo ad affrontare situazioni in cui ho bisogno di ottenere diversi tipi di informazioni da un metodo. Di solito penso a lungo e duramente per aggirare queste situazioni, ma penso che sia un lavoro inutile che sto facendo. La mia domanda: dovrei preferire un leggero calo di prestazioni in queste situazioni, ad esempio ripetere due volte su un array per esempio (ottenendo un codice più lento ma più pulito) o provare a restituire tutto in una volta con un'istanza di una classe helper personalizzata?
Ecco un esempio di caso per il gusto di
char[] arr = {'a', 'b', 'a', 'c', 'a'};
int count = 0; // 'a' and 'b' count
String word= ""; // 'a's and 'b's glued together in their occurring order
for (int i = 0; i < arr.length; ++i) {
for (int j = 0; j <= arr[0].length; ++j) {
if (arr[i][j] == 'a' || arr[i][j] == 'b') {
++count;
word += Character.toString(arr[i][j]);
}
}
}
// return both 'count' and 'word' inside a new object or iterate twice?