在Java中将整数数组转换为字符串的最佳方法

时间:2010-09-16 16:14:09

标签: java arrays string integer

在Java中,我有一个整数数组。有没有快速的方法将它们转换为字符串?

即。 int[] x = new int[] {3,4,5} x toString()应该产生“345”

7 个答案:

答案 0 :(得分:8)

最简单的高性能方法可能是StringBuilder:

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

如果您发现自己在多个地方这样做,您可能需要查看Guava's Joiner class - 尽管我不相信您可以将它用于原始数组。编辑:如下所述,您可以使用Ints.join

答案 1 :(得分:4)

   int[] x = new int[] {3,4,5};
   String s = java.util.Arrays.toString(x).replaceAll("[\\,\\[\\]\\ ]", "")

更新

为了完整性,Java 8 Streams解决方案,但它并不漂亮(像vavr这样的库会更短更快):

String s = IntStream.of(x)
  .mapToObj(Integer::toString)
  .collect(Collectors.joining(""));

答案 2 :(得分:3)

StringBuffer str =new StringBuffer();
for(int i:x){  
str.append(i);
}  

你至少需要阅读一次。

答案 3 :(得分:3)

试试这个 - 你必须import java.util.Arrays然后 -

String temp = Arrays.toString( intArray ).replace(", ", "");
String finalStr = temp.substring(1, temp.length()-2);

其中intArray是整数数组。

答案 4 :(得分:3)

public static void main(String[] args) {
    int[] dice = {1, 2, 3, 4, 5, 0};
    String string = "";

    for (int i = 0; i < dice.length; i++) {
        string = string + dice[i];
    }

    System.out.print(string);   

}

这是你可以做到的另一种方式。基本上只是创建一个for循环来访问整数数组中的每个元素并将其添加到字符串中。

答案 5 :(得分:0)

 public static void main(String[] args) {

    System.out.println("Integer Value :" +convertIntToString(new int[]{3,4,5}));

  }

  public static String convertIntToString(int intArray[]) {
    List<Integer> listInteger = new ArrayList<Integer>();

    for (int i = 0; i < intArray.length; i++) {
        listInteger.add(intArray[i]);
    }

    Object o = listInteger;

    return String.valueOf(o).replace("[", "").trim().replaceAll(", ","").trim().replaceAll("\\]","").trim();
  }

答案 6 :(得分:-2)

public static void main(String[] args) {
    System.out.println("Integer Value :" +convertIntToString(new int[]{3,4,5}));
}

public static String convertIntToString(int intArray[]) {
    List<Integer> listInteger = new ArrayList<Integer>();

    for (int i = 0; i < intArray.length; i++) {
        listInteger.add(intArray[i]);
    }

    Object o = listInteger;

    return String.valueOf(o).replace("[", "").trim().replaceAll(", ","").trim().replaceAll("\\]","").trim();
}