Biraz kafam karıştı. Cevabı hiçbir yerde bulamadım ;(
Bir String dizim var:
String[] arr = ["1", "2", "3"];
sonra bunu bir dizeye dönüştürüyorum:
String str = Arrays.toString(arr);
System.out.println(str);
Ben "123"
dizesini almayı bekliyordum, ancak bunun yerine "[1,2,3]"
dizesini aldım.
Bunu java'da nasıl yapabilirim? Eclipse IDE kullanıyorum
String[] strArr = {"1", "2", "3"};
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < strArr.length; i++) {
strBuilder.append(strArr[i]);
}
String newString = strBuilder.toString();
İşte bunun string birleştirme kullanmaktan daha iyi bir çözüm olmasının nedeni: 2 dizeyi birleştirdiğinizde, yeni bir dize nesnesi oluşturulur ve karakter karakter kopyalama gerçekleştirilir.
Etkili bir şekilde, kod karmaşıklığının dizinizin boyutunun karesi kadar olacağı anlamına gelir!
(1+2+3+... n
her yineleme başına kopyalanan karakter sayısıdır).
Bu durumda StringBuilder 'dizeye kopyalama' işlemini yalnızca bir kez yaparak karmaşıklığı O(n)
değerine indirir.
Arrays.toString(arr);
çıktısı [1,2,3]'tür ve siz bunu dizenize depolarsınız. ve yazdırırsınız, böylece [1,2,3] çıktısını alırsınız.
Eğer 123 çıktısı almak istiyorsanız bunu deneyin:
public static void main(String[] args) {
String[] arr= {"1","2","3"};
String output ="";
for(String str: arr)
output=output+str;
System.out.println(output);
}
Çıktı:
123