Java将字符串数组转换为列表

时间:2015-04-07 08:12:43

标签: java arrays string

我有以下字符串,并希望将其转换为字符串数组

String singleArray = "[501]"
String multipleArray = "[1,501,634]"

我想从中得到List<String>, 有时它可能是一个单一的价值 有时它可以用逗号分隔多个值。

我尝试使用Arrays.asList(multipleArray),但它没有用。

有什么建议吗?

6 个答案:

答案 0 :(得分:9)

  1. 获取第一个和最后一个字符之间的子字符串,以便删除[]个字符。
  2. 将结果字符串拆分为,
  3. 例如:

    String input = "[1,501,634]";
    String[] result = input.substring(1, input.length() - 1).split(",");
    List<String> asList = Arrays.asList(result);
    

答案 1 :(得分:6)

怎么样

String arr [] = str.replace("[", "").replace ("]", "").split (",");

然后根据您的知识,您可以使用数组使用

创建List
Arrays.asList(arr);

注意

如Bas.E所述,我的解决方案根据您的示例处理数据。

答案 2 :(得分:1)

  1. 从开头删除[],然后使用substring结束。
  2. 根据,的出现次数拆分字符串的其余部分。

    String[] arr = multipleArray.substring( 
                        1, multipleArray.length()-1).split(",");
    
  3. 然后使用数组制作一个列表。

    List<String> list=Arrays.asList(arr);
    

答案 3 :(得分:1)

来自asList(T...) 应该是这样的:

List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");

现在在您的问题中,您必须创建数组,然后将其传递给Arrays.asList

String [] arr =  multipleArray.replaceAll( "^\[|\]$", "").split( "," );
List<String> yourList = Arrays.asList(arr);

答案 4 :(得分:1)

删除前导和尾随方括号:

String removedBrackets = multipleArray.replaceAll( "^\\[|\\]$", "" );

String removedBrackets = multipleArray.substring( 1, multipleArray.length() - 1 );

然后在逗号上分割字符串:

String[] arrayOfValues = removedBrackets.split( "," );

然后将其转换为列表:

List<String> listOfValues = Arrays.asList( arrayOfValues );

答案 5 :(得分:0)

从侧括号

修剪它
array = array.substring(1,array.length()-1);

然后拆分并转换为数组

String[] arrayStringArray = array.split(",");

如果需要,请将其设为列表

List<String> arrayStringList = Arrays.asList(arrayStringArray);