【问题标题】:Convert array to a string in java [closed]在java中将数组转换为字符串[关闭]
【发布时间】:2012-07-02 11:42:28
【问题描述】:

大家好,

我需要把一个long的数组转换成一个数组(1,2,3,4,5)

new String[] {arrayTeste.toString().replace("[","(").replace("]",")")}

这对吗?

【问题讨论】:

  • 很难说出这里问的是什么。
  • 你到底想做什么?将 (1,2,3,4,5) 形式的字符串转换为数组?编辑问题并使其正确。
  • OP 想要将long 数组转换为string 数组。

标签: java arrays str-replace


【解决方案1】:

如果我明白你的意思,你必须这样做:

long[] array = ...;
String string = Arrays.toString(array).replace('[', '(').replace(']', ')');

如果要将long 的数组转换为String 的数组,可以这样做:

long[] array = ...;
String[] strings = new String[array.length];
for (int i=0; i < array.length; i++) {
    strings[i] = String.valueOf(array[i]);
}

一行:

String[] strings = Arrays.toString(array).replaceAll("(\\s+|\\[|\\])","").split(",");

【讨论】:

    【解决方案2】:

    使用StringBuilder 并将所有数组元素附加到它。它比直接连接字符串更有效。

    这很像Arrays.toString() 做的工作,但它不需要在之后替换括号:

    StringBuilder b = new StringBuilder();
    b.append("(");
    
    for(int i = 0; i < arrayTeste.length; ++i) {
       if(i != 0)
         b.append(",");
    
       b.append(arrayTeste[i]);
    }
    b.append(")");
    String s = b.toString();
    

    【讨论】:

      【解决方案3】:

      根据您的帖子标题,我想您想将数组的内容转换为一个格式化的字符串。

      遍历数组中的每一项并相应地格式化:

      string s = "";
      
      for (int i = 0; i < array.length; i++) {
      
          if (i == 0) s += "(" + array[i];
          if (i == array.length - 1) s += array[i] + ")";
          if (i != 0 && i != array.length - 1) {
      
              s += array[i] + ",";
          }
      }    
      

      大致上应该可以解决问题。

      【讨论】:

        【解决方案4】:

        您可以使用Arrays.toString(long[])

        【讨论】:

          猜你喜欢
          • 2014-03-09
          • 2021-05-24
          • 1970-01-01
          • 1970-01-01
          • 2013-09-17
          • 1970-01-01
          • 2013-11-11
          • 1970-01-01
          • 2017-02-12
          相关资源
          最近更新 更多