StringBuilder kullanımı.

MrPoteyto

Is the excellence? Ok..
En iyi cevaplar
0
Merhaba. YouTube dan PogoStick29 adlı kanalın eklenti kodlamaları videolarını izlerken 5. dersinde, yani configleri anlatan videosunda takıldım. Videoda:

StringBuilder str = new StringBuilder();
for(int i = 0, i < args.length, i++){
str.append(args + " ");
}

diye bir yer var ve ben bunu neden kullandığını anlamış değilim. Gereksiz değilmi? Yoksa bir amacı var mı?
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
Amaç doğrultusunda gereksiz, yani yine aynı sonuca ulaştırır. Ama loop'larda String birleştirme işleminin StringBuilder'da yapılması performans açısından daha iyi. Ayrıca StringBuilder içindeki String açısından daha çok method'a sahip.
 

java10

kız çava bana kahve yap
En iyi cevaplar
0
bu kod genelde şunlar için kullanılıyor;
/pm <oyuncu> <mejaj>
yani o kodda bi sıkıntı var ayrıca eğer args len. == 2 ise " " bu koyulmamalı else " " bu olmalı yani mesaj atma ya da güzel düzenli bir help komutu için kullanılabilir bukkitte
 

MrPoteyto

Is the excellence? Ok..
En iyi cevaplar
0
bu kod genelde şunlar için kullanılıyor;
/pm <oyuncu> <mejaj>
yani o kodda bi sıkıntı var ayrıca eğer args len. == 2 ise " " bu koyulmamalı else " " bu olmalı yani mesaj atma ya da güzel düzenli bir help komutu için kullanılabilir bukkitte
Anlamadım ama yinede teşekkürler :D

Yakında altyapıyı sizin yerinize düzenleyip, daha lagsız bir oyun keyfi sunacak muhteşem bir eklenti geliyor.
Hazırlanın :)
 
Son düzenleme:

ysvs06

Marangoz
En iyi cevaplar
0
String bir değişkene sürekli yeni değer ekliyorsanız örneğin bütün oyuncu isimlerini döngü içinde biraraya topluyorsun
Kod:
oyuncuIsimleri = oyuncuIsimleri+", "+ yeniOyuncuIsmi;
Aslında oyuncuIsimlerine yeniOyuncuIsmi ni eklemiyorsun, ikisini içeren yeni bir String değişkeni oluşturuyor ve eskisini siliyorsun. Java yüksek seviyeli bir dil olduğu için String ilkel bir tip olarak görülüyor ama teknik olarak ilkel değil, char[] dizisinden türetiliyor bu yüzden ekleme çıkarma gibi işlemler yapılamıyor, onun yerine sil baştan yeni char[] dizisi üretiliyor.

StringBuilder ise char[] dizisinin boyutunu normalden daha fazla ayırır, böylece dizi dolana kadar yeni dizi üretmek ve kopyalamak zorunda kalmaz.
Dezavantaj olarak normalden 2 kat bellek harcar.

Eğer bellek sıkıntısı varsa ArrayList<Character> ile bir sınıf yapılabilir editlemesi hızlı ama veri çekmek yavaş olucaktır.
Minecraftta genellikle devasa metinlerle uğraşmadığımız için çok önemli değil.
 
Üst