[英]How to separate each array element with comma ( using replaceAll )?
[英]Add elements to a list and separate each element by a colon “:” instead of a comma
我有以下三個要素:
play_full_NAME=556677
pause_full_NAME=9922
stop_full_NAME=112233
字符串"abc"
從特定代碼中一個接一個地返回所有上述三個元素。
我試圖將所有三個元素添加到由冒號“:”分隔的列表中
樣本輸出:
play_full_NAME=556677:pause_full_NAME=9922:stop_full_NAME=112233
我的嘗試:
List<String> list = new ArrayList<String>();
list.join(":",abc)
請提供更好的解決方法。
您對List
理解很少有缺陷。 逗號僅用於表示目的。
要使用冒號連接字符串,可以執行以下操作
List<String> list = Arrays.asList("play_full_NAME=556677",
"pause_full_NAME=9922",
"stop_full_NAME=112233");
String joinedString = String.join(":", list);
您真的很了解列表嗎?
實際上,沒有分隔符,每個項目/值都存儲為不同的“對象”。
因此,您具有一些獨立的值-在這種情況下為字符串,在下面的屏幕快照中可以看到什么,或者是否執行System.out.println(someList);
它將調用方法toString()
重寫,該方法繼承自Object
類 , Object
類是Java中所有類的根父類。
因此在List
每個項目之間添加一些拆分字符絕對是胡說八道,它們已經被拆分,您可以通過get(int position)
方法訪問每個項目。
因此,如果您想“自己打印”列表的每個項目,可以按照以下步驟進行:
for (int i = 0; i < someList.size(); i++) {
System.out.println(i + " = " + someList.get(i));
}
/* output will be
1 = 1 item
2 = 2 item
3 = 3 item
4 = 4 item
*/
如果要實現用於打印“您的列表”的自定義方法,則可以擴展例如。 ArrayList
類和重寫toString
方法,但是更好和更簡單的方法是在某些utils中准備一些方法以獲取具有List上下文的格式化String輸出,例如。 (注意;
在最后一個元素之后將有;
)
public static String getFormatStringFromList(ArrayList<String> data) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.size(); i++) {
sb.append(data.get(i) + ";");
}
return sb.toString();
//eg. 0 item;1 item;2 item;3 item;4 item;
}
為了避免最后一個分隔符,您可以執行例如。 簡單檢查
public static String getFormatStringFromListWitoutLastSeparator(List<String> someList) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < someList.size(); i++) {
sb.append(someList.get(i));
if(i < someList.size() -1) {
sb.append(";");
}
}
return sb.toString();
//0 item;1 item;2 item;3 item;4 item
/*
someList[0] = 0 item
someList[1] = ;
someList[2] = 1 item
someList[3] = ;
{etc..}
*/
}
從列表中獲取String的最佳方法將是@krisnik建議:
String joinedString = String.join(":", list);
如果希望它們位於列表中,則需要單獨添加冒號元素。
例如:
List<String> list = new ArrayList<String>();
list.add(abc);
list.add(":");
list.add(def);
list.add(":");
等等。
但我建議不要這樣做,因為您可以在需要時使用String.format
或StringBuilder
簡單地格式化輸出字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.