ich wollte wissen, ob es in sachen performance einen unterschied gibt zwischen
und:
(der Block soll nur zeigen, dass "str" nachher nicht mehr gebraucht wird.)
ich wollte wissen, ob in der ersten Variante zur Laufzeit jedes mal ein neues String-Objekt erzeugt wird, dies dann natürlich Zeit benötigt, weiters alte Objekte erst vom Garbage Collector gelöscht werden müssen, etc.
...oder ob dies vom Compiler/Interpreter erkannt wird und beide Varianten gleichwertig sind.
ich frage nur, weil solche Iterationen einfach ständig vorkommen und ich mal wissen wollte, welche Variante eigentlich üblich ist bzw. besser.
Code:
Iterator<String> it = ...
...
while(it.hasNext()) {
String str = it.next();
...
}
und:
Code:
Iterator<String> it = ...
...
{
String str;
while(it.hasNext()) {
str = it.next();
...
}
}
(der Block soll nur zeigen, dass "str" nachher nicht mehr gebraucht wird.)
ich wollte wissen, ob in der ersten Variante zur Laufzeit jedes mal ein neues String-Objekt erzeugt wird, dies dann natürlich Zeit benötigt, weiters alte Objekte erst vom Garbage Collector gelöscht werden müssen, etc.
...oder ob dies vom Compiler/Interpreter erkannt wird und beide Varianten gleichwertig sind.
ich frage nur, weil solche Iterationen einfach ständig vorkommen und ich mal wissen wollte, welche Variante eigentlich üblich ist bzw. besser.