Ich habe einige Zeilen Code wie folgt. Hier ist meine Frage welche bevorzugen?Zeichenfolge Variablen Verkettung
public static String convertMapToString (Map < String, String > map)
{
StringBuilder str = new StringBuilder (200) ;
for (Entry < String, String > entry : map.entrySet ())
{
str.append (entry.getKey() + " = " + entry.getValue()) ;
}
return str.toString() ;
}
oder Soll ich mit folgenden weil ich bezweifle, dass appned Aussage über zwei weitere zusätzliche Strings als Folge der +
Betrieb in jeder Iteration erstellen können.
public static String convertMapToString (Map < String, String > map)
{
StringBuilder str = new StringBuilder (200) ;
for (Entry < String, String > entry : map.entrySet ())
{
str.append (entry.getKey());
str.append (" = ");
str.append (entry.getValue()) ;
}
return str.toString() ;
}
dekompilieren beide Versionen und schauen, was der Compiler mit ihnen gemacht hat. – Tom
Das zweite Snippet erzeugt wahrscheinlich weniger String-Objekte als das erste, also würde ich es bevorzugen. – Eran
@Tom Einverstanden, meine Vermutung ist, dass Option Nummer 2 "besser" ist, weil die Strings verkettet werden müssen, und der 'StringBuilder' müsste die gleiche Anzahl von' char' durchlaufen. Also Option 1 scheint die gleiche wie Option 2 zu sein, aber mit einer zusätzlichen unnötigen Verkettung – Maljam