SORU
15 EKİM 2008, ÇARŞAMBA


/Dizi/Liste koleksiyonundan virgülle ayrılmış Dize oluşturmak için en gelişmiş yol?

Veritabanları ile yaptığım çalışma sırasında sorgu dizeleri yazmak olduğunu fark ettim ve bu dizeleri burada imleç listesinden/dizi/koleksiyon içinde çeşitli kısıtlamalar koymak zorunda kalıyorum. Bu gibi görünmelidir:

select * from customer 
where customer.id in (34, 26, ..., 2);

Dizeleri koleksiyonu olan soru bu azaltarak bu basitleştirmek ve tek bir dize bu dizeleri virgülle ayrılmış bir listesini oluşturmak istiyor.

Şimdiye kadar kullandığım yaklaşımım böyle bir şey

String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
    if(first) {
        result =string;
        first=false;
    } else {
        result ="," string;
    }
}

Ama bu çok çirkin gördüğünüz gibi. Özellikle inşa dizeleri (her SQL sorgu gibi) karmaşık bir hal olduğunda ne olur orada ilk bakmak görmek, yapamazsınız.

(Daha fazla) zarif yolu nedir?

CEVAP
15 EKİM 2008, ÇARŞAMBA


Kullanım Google Guava API'join yöntem:

Joiner.on(",").join(collectionOfStrings);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008
  • Skrillex

    Skrillex

    6 NİSAN 2010