我正在尝试将一组整数转换为Java中的单个字符串。我怎么能这样做?
Set<Integer> s = new HashSet<>();
s.add(1);
s.add(3);
int n = s.size();
String arr[] = new String[n];
arr = s.toArray(arr);
for (String x : arr )
System.out.println(x);
答案 0 :(得分:4)
使用joining
:
String result = s.stream().map(String::valueOf).collect(joining());
没有Stream
:
List<String> intString = new ArrayList<>();
for (Integer i : s) {
intString.add(String.valueOf(i));
}
String result = String.join("", intString);
但请注意,如果您想按输入顺序打印这些数字(首先会先打印),那么您需要LinkedHashSet
来记住该顺序:
Set<Integer s = new LinkedHashSet<>();
答案 1 :(得分:2)
使用老式Java,您可以使用StringBuilder
:
StringBuilder builder = new StringBuilder();
for (Integer i : s) {
builder.append(i);
}
String result = builder.toString();
答案 2 :(得分:0)
您可以使用Integer.toString()
将每个整数转换为字符串,然后将其附加到StringBuilder
(还在其间添加一个空格以分隔整数)。然后,您可以将StringBuilder
转换为String
并修剪它(以删除尾随空格)。
Set<Integer> s = new HashSet();
s.add(1);
s.add(3);
StringBuilder sb = new StringBuilder();
for(int x : s) {
sb.append(Integer.toString(x));
sb.append(" ");
}
String st = sb.toString();
st = st.trim();
System.out.print(st);