İş mantığımda bir listeyi tamamen başka bir listeyle değiştirmek istiyorum.Bir dizi listesini diğer listeyle değiştir
Aşağıdaki yaklaşım doğru mu?
public class TestListReplacement {
public static void main(String[] args) {
List<String> values= new ArrayList<String>();
values.add("a");
values.add("b");
values.add("c");
values.add("d");
values.add("e");
values.add("f");
List<String> valuesNew= new ArrayList<String>();
valuesNew.add("g");
valuesNew.add("h");
valuesNew.add("i");
valuesNew.add("j");
valuesNew.add("k");
values= valuesNew;
for(String val:values){
System.out.println(val);
}
}
}
Bu iyi çalışıyor gibi görünüyor, ancak bazı kullanım durumlarında çalışıp çalışmadığını bilmek istiyorum. Ve referansı üzerine yazma her zaman bir seçenek değildir :
doğru ve çalışır her zaman çalışıyor. –
Kodunuz listelerin belirli bir şeyi ile çalışmıyor. Farklı bir nesne referansı ile üzerine yazılan bir değişkenin nesne referansını gösterir. Mevcut listedeki değerleri güncellemeye çalışıyorsanız, kodunuz böyle değildir. Kodunuzdaki yeni değerleri görmek için o listeye atıfta bulunan başka yerler bekliyorsanız, bu olmayacak. Yukarıdaki açıklamaya ve yalıtılmış kod örneğine göre, hangi sorunu çözmeye çalıştığınız ve çözümünüzün çalışıp çalışmadığı açık değildir. – nbrooks
Aslında, bu soru bir http://stackoverflow.com/questions/3823398/better-practice-to-re-instantiate-a-list-or-invoke-clear (ve diğer bazılarının) kopyasıdır. – nbrooks