簡體   English   中英

如何將char數組轉換為字符串數組

[英]How to convert a char array to a string array

如何將 char 數組轉換為字符串數組? 或者更好的是,您可以獲取一個字符串並將其轉換為包含字符串每個字符的字符串數組嗎?

編輯:感謝@Emiam:將他的代碼用作臨時數組,然后使用另一個數組來消除額外的空間,並且效果很好:

String[] tempStrings = Ext.split("");
String[] mStrings = new String[Ext.length()];

for (int i = 0; i < Ext.length(); i++) 
    mStrings[i] = tempStrings[i + 1];

或者更好的是,您可以獲取一個字符串並將其轉換為包含字符串每個字符的字符串數組嗎?

我認為這可以通過在“”處拆分字符串來完成。 像這樣:

String [] myarray = mystring.split("");

編輯:如果您不想要前導空字符串,您將使用正則表達式:“(?!^)”

String [] mySecondArray = mystring.split("(?!^)");

漂亮的Java 8 未來人單線:

String[] array = Stream.of(charArray).map(String::valueOf).toArray(String[]::new);

我進行了以下測試來檢查 Emiam 的假設:

public static void main(String[] args) {
    String str = "abcdef";

    String [] array = str.split("");
}

它有效,但它在數組的 position 0 中添加了一個空字符串。 所以數組有 7 個字符長並且是 { "", "a", "b", "c", "d", "e", "f" }。

我已經用 Java SE 1.6 進行了這個測試。

蠻力:

String input = "yourstring";
int len = input.length();
String [] result = new String[len];

for(int i = 0; i < len ; i ++ ){
    result[i] = input.substring(i,i+1);
}

這將給出 string[] 作為結果,但只有一個值,如下所示 String[] str = {"abcdef"};

// char[] 到 String[] String[] sa1 = String.valueOf(cArray).split("");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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