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

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • calicoJake

    calicoJake

    29 EKİM 2007
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009