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

  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008