如何将String转换为包含每个字符的字符串数组

gin*_*eek 7 java arrays string

我在这里遇到一个小问题.我需要将从控制台读取的字符串转换为字符串的每个字符.例如字符串:"aabbab"我希望这个字符串成为字符串数组.我会怎么做?

Joa*_*uer 21

String[] result = input.split("(?!^)");
Run Code Online (Sandbox Code Playgroud)

这样做是在没有字符串开头的所有空字符串上拆分输入字符串.


cba*_*wat 17

String x = "stackoverflow";
String [] y = x.split("");
Run Code Online (Sandbox Code Playgroud)


Von*_*onC 5

如果通过String数组表示char数组:

public class Test
{
    public static void main(String[] args)
    {
        String test = "aabbab ";
        char[] t = test.toCharArray();

        for(char c : t)
            System.out.println(c);    

        System.out.println("The end!");    
    }
}  
Run Code Online (Sandbox Code Playgroud)

如果没有,该String.split()函数可以将String转换为String数组

看那些String.split例子

/* String to split. */
String str = "one-two-three";
String[] temp;

/* delimiter */
String delimiter = "-";
/* given string will be split by the argument delimiter provided. */
temp = str.split(delimiter);
/* print substrings */
for(int i =0; i < temp.length ; i++)
  System.out.println(temp[i]);
Run Code Online (Sandbox Code Playgroud)

input.split("(?!^)")提议勒夫他的回答是基于:

  • 一个' ?!零宽度负向前瞻(见外观)
  • 插入符号' ^'作为一个锚点来匹配应用正则表达式模式的字符串的开头

任何不是第一个字符的字符都将被拆分.空字符串不会被拆分但返回一个空数组.

  • 多数民众赞成在一个字符数组,而不是一个字符串数组 (2认同)