string to string array conversion in java string to string array conversion in java arrays arrays

string to string array conversion in java


To start you off on your assignment, String.split splits strings on a regular expression and this expression may be an empty string:

String[] ary = "abc".split("");

Yields the array:

(java.lang.String[]) [, a, b, c]

Getting rid of the empty 1st entry is left as an exercise for the reader :-)

Note: In Java 8, the empty first element is no longer included.


String strName = "name";String[] strArray = new String[] {strName};System.out.println(strArray[0]); //prints "name"

The second line allocates a String array with the length of 1. Note that you don't need to specify a length yourself, such as:

String[] strArray = new String[1];

instead, the length is determined by the number of elements in the initalizer. Using

String[] strArray = new String[] {strName, "name1", "name2"};

creates an array with a length of 3.


Assuming you really want an array of single-character strings (not a char[] or Character[])

1. Using a regex:

public static String[] singleChars(String s) {    return s.split("(?!^)");}

The zero width negative lookahead prevents the pattern matching at the start of the input, so you don't get a leading empty string.

2. Using Guava:

import java.util.List;import org.apache.commons.lang.ArrayUtils;import com.google.common.base.Functions;import com.google.common.collect.Lists;import com.google.common.primitives.Chars;// ...public static String[] singleChars(String s) {    return        Lists.transform(Chars.asList(s.toCharArray()),                        Functions.toStringFunction())             .toArray(ArrayUtils.EMPTY_STRING_ARRAY);}