Ich fragte mich, ob dies;Zurückgeben des Inhalts einer Teilzeichenkette gegen das Zurückgeben der Teilzeichenkette selbst
public String seeColor(String str)
{
int l = str.length();
if(l >= 3 && str.substring(0, 3).equals("red")) return "red";
if(l >= 4 && str.substring(0, 4).equals("blue")) return "blue";
else return "";
}
war schneller zu kompilieren dann das;
public String seeColor(String str)
{
int l = str.length();
if(l >= 3 && str.substring(0, 4).equals("red")) return str.substring(0, 4);
if(l >= 4 && str.substring(0, 5).equals("blue")) return str.substring(0, 5);
else return "";
}
oder vielleicht beide Wege saugen und es gibt einen anderen, effizienteren Ansatz, den ich nicht kenne?
Warum Du den Unterschied in der Kompilierung egal? Es wird im Grunde nicht anders sein. Beachten Sie, dass die beiden Beispiele jedoch nicht gleichwertig sind: Der zweite Fall ist gleichbedeutend mit "return" ";" (beide Bedingungen entfernen; Ignorieren der Null-Sicherheit), da keine Bedingung erfüllt werden kann. –
Ich habe eine Übung auf CodingBat gemacht, die Zeichenfolge "str" wird durch andere Werte ersetzt ... Ich wollte wissen, welche Methode am schnellsten war, weil ich versuche, immer den leistungsfähigsten Ansatz für die Lösung eines Problems zu wählen . ** EDIT: ** Macht es wirklich keinen Unterschied, welche Methode ich in realen Anwendungen verwende? – CaffeinatedSynapse
Kompilierzeit ODER Ausführungszeit? – benbenw