【问题标题】:How to get rid of the braces and commas returned by Arrays.toString()?如何摆脱 Arrays.toString() 返回的大括号和逗号?
【发布时间】:2013-06-02 17:59:03
【问题描述】:

考虑一下这段代码-

import java.util.Arrays;

class Test  {
public static void main(String args[])  {
    int[] arr=new int[5];

    for (int i=0; i<5; i++) {arr[i]=i;}

    String sarr=Arrays.toString(arr);
    System.out.println(sarr);
}
}

输出是-

[0, 1, 2, 3, 4]

我想知道天气有没有办法摆脱 toString() 引入的大括号和命令?我希望我的字符串是这样的-

"01234"

【问题讨论】:

    标签: java arrays string tostring


    【解决方案1】:

    只需自己构建字符串,使用StringBuilder

    StringBuilder builder = new StringBuilder();
    for (int value : arr) {
        builder.append(value);
    }
    String text = builder.toString();
    

    基本上,如果您不想要 Arrays.toString 为您提供的格式,我首先会避免使用它。

    【讨论】:

      【解决方案2】:

      摆脱你不想要的字符的最好方法是一开始就不把它们放进去:

      StringBuilder sb = new StringBuilder();
      for (int n : arr) {
          sb.append(n);
      }
      String sarr = sb.toString();
      

      但是,如果您事后必须删除标点符号,您可以使用replaceAll

      sarr = sarr.replaceAll("[^0-9]", "");
      

      【讨论】:

        【解决方案3】:

        您可以使用快速枚举和 StringBuilder - 可以使用 int[] 作为参数的静态方法。

        例如:

        int[] arr = new int[] {0,1,2,3,4};
        StringBuilder sb = new StringBuilder(arr.length);
        for (int i: arr) {
            sb.append(i);
        }
        System.out.println(sb.toString());
        

        输出:

        01234
        

        【讨论】:

          【解决方案4】:

          您可以删除所有非数字字符:

          String sarr = Arrays.toString(arr).toString().replaceAll("\\D+", "");
          

          【讨论】:

            【解决方案5】:

            我建议不要依赖数组中的 toString() 表示,因为它主要是为了更容易调试,而不是用于任何生产用途。如果您希望以某种结构化方式获取信息,请自行格式化(例如,通过循环遍历数组并附加到 StringBuilder)。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-06-10
              相关资源
              最近更新 更多