簡體   English   中英

在一個String中獲取字符串數組的所有值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM