給出一個列表加入列表<String>在Java中使用逗號和 「和」
List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");
我有一個方法
String join(List<String> messages) {
if (messages.isEmpty()) return "";
if (messages.size() == 1) return messages.get(0);
String message = "";
message = StringUtils.join(messages.subList(0, messages.size() -2), ", ");
message = message + (messages.size() > 2 ? ", " : "") + StringUtils.join(messages.subList(messages.size() -2, messages.size()), ", and ");
return message;
}
其中,對於L,生產的 「一,二,三」 。 我的問題是,是否有,做同樣的?,例如
WhatEverUtils.join(l, ", ", ", and ");
爲了闡明標準(Apache的公地)方法。我的問題是沒有得到這種方法的工作。它的工作方式與我想要的一樣,經過測試,一切正常。我的問題是,我找不到一些實現這種功能的apache-commons-like模塊。這讓我感到驚訝,因爲我不能成爲第一個需要這個的人。
但隨後也許其他人剛剛做
StringUtils.join(l, ", ").replaceAll(lastCommaRegex, ", and");
我不認爲有這樣一個開源庫,但我建議使用資源包,因爲不是所有的語言都使用英文單詞「和」。 –
@slipset,爲什麼不使用來自已知庫的一些連接,只需修改一下?注意「和」是英文單詞,所以如果這樣的庫存在,它必須有多種語言支持 – smas
我可能一直不清楚,但是我寫了我在我的問題中顯示的方法,並且它的工作方式與我想要的一樣。 – slipset