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.
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		