Java 8'de bazı Dize değerlerim var ve ben virgülle ayrılmış geçerli değerler listesiyle sonuçlanmak istiyorum. Bir dize boşsa veya boş Bunu göz ardı etmek istiyorum. Bunun genel bir şey olduğunu biliyorum ve this old question; Ancak, bu tartışma null ve boşluklara değinmez (aynı zamanda kabul edilen cevabı beğenmiyorum).Java 8'de boş ve boş dizeleri sınırlayıcı ile dizi değerleri birleştirin mi?
Java 8 StringJoiner'a, StringUtils'e (join) ve guava'ya (Joiner) baktım ama hiçbiri tam bir çözüm gibi görünmüyor. vizyon:
where: val1="a", val2=null, val3="", val4="b"
String niceString = StringJoiner.use(",").ignoreBlanks().ignoreNulls()
.add(val1).add(val2).add(val3).add(val4).toString();
(yani, döngüler için bir liste halinde yükleme dizeleri dahil değildir ve niceString = "a, b"
Bunu yapmak için güzel bir yol yok mudur neden olacaktır/veya regex, kötü girdileri kaldırmak için değiştirir)?
http://stackoverflow.com/questions/31380784/java-8-stream-string-null-or-empty-filter – Savior
basit Java 8 yöntemdir 'Stream.of (val1, val2, VAL3 , val4) .filter (s -> s! = null &&! s.isEmpty()) Collector.joining' adlı statik bir içe aktarma ile toplama (",")). Bu sizin hoşunuza gitmiyorsa, kendi sınıfınızı yaratmanız veya bir kütüphanede bir tane bulmanız gerekir. Ama neden rahatsızsın? – Misha
baştan başa başabaş ama belki de değil. – eze