【问题标题】:String into Object[][] Java字符串到 Object[][] Java
【发布时间】:2021-06-01 19:35:51
【问题描述】:

我有一个这样的字符串

String data = vini,vidi,vici

我想把它变成这样的 object[][]

Object[][] user = new Object[][] {{"vini"}, {"vidi"}, {"vici"}};

如果有什么方法可以解决这个问题,请提出建议。谢谢。

【问题讨论】:

  • 我建议你看看String API,它可能有一个有用的方法
  • 是的,有办法解决这个问题。 --- Why is “Is it possible to…” a poorly worded question?
  • 如果这是你想要的,那么你应该开始编码。我建议你首先让第一个语句在语法上有效,这样它才能真正编译。

标签: java string object converters


【解决方案1】:
String data = "vini,vidi,vici";
String[] rows = data.split(",");

Object[][] matrix = new Object[rows.length][]; 
int i = 0;
for (String row : rows)
   matrix[i++] = row.split(",");
System.out.println(Arrays.deepToString(matrix));

只需使用逗号分隔符"," 处的String.split() 拆分给定的String,这将转换为rows 类型的rows 数组String,例如:[vini, vidi, vici]。创建一个2D 类型为Object 的数组,在行中迭代并在逗号分隔符处再次拆分后开始在数组中每行填充字符串值。使用Arrays.deepToString() 方法打印matrix

Output: [[vini], [vidi], [vici]]

希望它能回答您的问题。

【讨论】:

    【解决方案2】:

    你可以使用String的方法split,它会返回一个数组。

    然后循环返回的字符串,并将每个数组元素保存在 Object 中。

     String data = "veni, vidi, vici";
     String splittedData = data.split(", ");
     Object[][] user = new Object[splittedData.length][1];
     for(int i = 0; i < splittedData.length; i++) {
        user[i][0] = splittedData[i];
     }
    

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      相关资源
      最近更新 更多