[英]Getting all the values of an array of Strings in one String
如果我有,
String[] s = new String[3];
s[0] = "Ap";
s[1] = "p";
s[2] = "le";
String result = ?
如果我想在沒有循環的情況下讓蘋果公司退出,我該怎么做?
任何捷徑?
如果不循環對你來說比防止導入另一個庫更重要,或者你已經使用了apache commons lang ,那么你可以使用StringUtils.join方法
import org.apache.commons.lang.StringUtils;
String joined = StringUtils.join(s, "");
也許Apache Commons還有其他可能對您的項目感興趣的方法。 我發現它們是本機Java庫中缺少功能的非常有用的資源。
沒有循環,您可以:
public String joinpart(String[] a, int i, String prefix) {
if (i < a.length) {
return joinpart(a, i + 1, prefix + a[i]);
}
return prefix;
}
然后:
String[] a = new String[]{"Ap", "p", "le"};
String apple = joinpart(a, 0, "");
這稱為遞歸解決方案。
如果您知道陣列的長度,則可以輕松執行以下操作:
String result = s[0] + s[1] +s[2];
另一種選擇是執行以下操作(這純粹是學術性的,我不會在現實場景中使用它,因為它會從字符串中刪除[
, ]
和<space>
):
String result = Arrays.toString(s).replaceAll("[\\]\\[, ]", "");
還有另一個選擇,即第一次嘗試,但使用類似C的格式化程序:
System.out.println(String.format("%s%s%s", s));
使用Dollar很簡單,因為輸入:
String[] array = new String[] { "Ap", "p", "le" };
String result = $(array).join(); // result now is "Apple"
String result = s[0] + s[1] + s[2];
如果你有一個未知數量的條目,我認為你需要一個循環。
Java沒有String.join()
類型方法。 如果你想隱藏循環,你必須自己滾動一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.