Ich habe folgende Frage zur Leistung einer Methode in Java mit einer variablen Anzahl von Parametern.
Angenommen, ich habe die folgenden 2 Alternativen:
public static final boolean isIn(int i, int v1, int v2) {
return (v1 == i) || (v2 == i);
}
public static final boolean isIn(int i, int... values) {
for (int v : values) {
if (i == v) {
return true;
}
}
return false;
}
Das Hauptproblem entsteht nun, wenn ich Versionen der ersten Methode habe, die bis zu 20, 30 oder sogar 50 Parameter umfassen. Das tut einfach in den Augen weh. Ok, das ist Legacy-Code und ich möchte das alles durch die Methode mit nur einer Variablen ersetzen.
Haben Sie eine Ahnung, wie sich das auf die Leistung auswirken würde? Besteht die Möglichkeit, dass der Compiler die zweite Methode so optimiert, dass sie der ersten Form mehr oder weniger ähnelt?
EDITAR: Ok, vielleicht habe ich mich nicht klar genug ausgedrückt. Ich habe keine Leistungsprobleme mit den Methoden mit 50 Argumenten. Es geht nur um die Lesbarkeit, wie Peter Lawrey sagte. Ich habe mir Gedanken gemacht über Leistungsprobleme, wenn ich zur neuen Methode mit variabler Anzahl von Argumenten wechsle .
Mit anderen Worten: Was wäre der beste Weg, dies zu tun? wenn Ihnen die Leistung wichtig ist? Methoden mit 50 Argumenten oder nur eine Methode mit variablen Argumenten?