ここでは三項演算子を使用しないため、これは正しい答えではありません。
空の文字列を削除して文字列を連結する必要がある場合は、一般的な関数を作成できます (エラー チェックも最適化も行わず、例として取り上げます)。
public static String join(String[] array, char separator) {
StringBuffer result = new StringBuffer();
for (int i = 0; i < array.length; ++i) {
if (array[i] != null && array[i].length() != 0) {
if (result.length() > 0)
result.append(separator);
result.append(array[i]);
}
}
return result.toString();
}
「インライン」バージョンよりもかなり長いですが、結合する文字列の数に関係なく機能します (可変数のパラメーターを使用するように変更できます)。if
それを使用するコードは、どのような種類のツリーよりもはるかに明確になります。
このようなもの:
public static String join(char separator, String... items, ) {
StringBuffer result = new StringBuffer();
for (String item: items) {
if (item != null && item.length() != 0) {
if (result.length() > 0)
result.append(separator);
result.append(item);
}
}
return result.toString();
}