[英]How to concatenate int and string
我试图在Java中组合两个数组,一个数组与字符串,另一个数组与整数:
int [] intArray = {1, 2, 3};
String [] strArray = {"Hello", "World"};
我正在尝试获得以下两个结果:
Object [] combinedObjects = {1, 2, 3, "Hello", "World"};
String [] combinedStrings = {"1", "2", "3", "Hello", "World"};
编辑:我发布答案后,您的问题已更改,并且似乎发布了更合适的答案,而不是删除我的帖子,我将保留最后一点,以防您以后需要从连接数组中进行任何转换在您的项目中。
您还可以选择解析数据(如果您想从数组中获取整数的值,这可能对您很有用。
int tempInt = Integer.parseInt(tempString);
或者:
String tempString = String.valueOf(tempArray[i]);
可以在javadevnotes上找到有关更改类型的很好的参考。
您应该将Integer
值转换为String
以解决您的问题,因为Array可以具有一种信息类型:
public static void main(String args[]) {
int[] intArray = {1, 2, 3};
String[] strArray = {"Hello", "World"};
String[] combinedStrings = new String[intArray.length + strArray.length];
int i = 0;
while (i < intArray.length) {
//convert int to string with adding an empty string
combinedStrings[i] = intArray[i] + "";
i++;
}
int j = 0;
while (j < strArray.length) {
combinedStrings[i] = strArray[j];
i++;
j++;
}
for (String val : combinedStrings) {
System.out.println(val);
}
}
您可以在Oracle 教程的 创建,初始化和访问数组部分中了解有关数组的更多信息。
您有两种方法:
1-使用arrayList:
ArrayList a = new ArrayList();
for(int i = 0 ; i < intArray.length ; i++)
a.add(intArray[i]);
for(int i = 0 ; i < strArray.length ; i++)
a.add(strArray[i]);
现在你在ArrayList中有答案
2-使用String.valueof()方法:
String combinedStrings[] = new String[strArray.length+intArray.length];
int index= 0;
for(int i = 0 ; i < strArray.length ; i++)
combinedStrings[index++] = strArray[i];
for(int i = 0 ; i < intArray.length ; i++)
combinedStrings[index++] = String.valueOf(intArray[i]);
现在你在combinedStrings数组中有答案
如果您不习惯使用非常旧的Java版本,则很少有理由使用Array。 特别是如果要对阵列进行操作,请放大或缩小它。 Java收集框架要灵活得多。 从java8开始,在集合上引入流以非常紧凑的编码提供了广泛的操作。
使用流,我将解决您的问题,如下所示:
Object [] combinedObjects = Stream.concat(
Arrays.stream( intArray).boxed(),
Arrays.stream( strArray))
.toArray(Object[]::new);
String [] combinedStrings = Stream.concat(
Arrays.stream( intArray).mapToObj( i -> "" + i),
Arrays.stream( strArray))
.toArray(String[]::new);
如果您的输入和所需的输出应该是Collection,那么代码将显得更短:
Collection<Object> combined = Stream.concat(
intCollection.stream(),
strCollection.stream())
.collect( Collectors.toList() );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.