【发布时间】:2011-04-13 07:34:39
【问题描述】:
在 Java 中,我有一个整数数组。有没有快速将它们转换为字符串的方法?
I.E. int[] x = new int[] {3,4,5}
x toString() 应该产生“345”
【问题讨论】:
-
所以
{3, 45}也产生"345"?你确定要这样做吗?您可能想退后一步,重新考虑您的设计。
标签: java arrays string integer
在 Java 中,我有一个整数数组。有没有快速将它们转换为字符串的方法?
I.E. int[] x = new int[] {3,4,5}
x toString() 应该产生“345”
【问题讨论】:
{3, 45} 也产生"345"?你确定要这样做吗?您可能想退后一步,重新考虑您的设计。
标签: java arrays string integer
最简单的高性能方法可能是 StringBuilder:
StringBuilder builder = new StringBuilder();
for (int i : array) {
builder.append(i);
}
String text = builder.toString();
如果您发现自己在多个地方这样做,您可能想查看Guava's Joiner class - 尽管我不相信您可以将它用于原始数组。编辑:如下所述,您可以为此使用Ints.join。
【讨论】:
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(""));
【讨论】:
试试这个 - 你必须 import java.util.Arrays 然后 -
String temp = Arrays.toString( intArray ).replace(", ", "");
String finalStr = temp.substring(1, temp.length()-2);
intArray 是您的整数数组。
【讨论】:
StringBuffer str =new StringBuffer();
for(int i:x){
str.append(i);
}
您需要至少阅读一次。
【讨论】:
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 循环。
【讨论】:
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();
}
【讨论】:
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();
}
【讨论】: