stream 把long数组转化成string数组
时间: 2024-12-20 13:04:50 浏览: 13
Stream API在Java中是一种强大的工具,用于处理集合和数组数据流。如果你有一个long类型的数组,想要将其转换为String数组,你可以使用map()函数配合toString()方法来实现。这是一个示例:
```java
Long[] longArray = {1L, 2L, 3L, 4L, 5L}; // 假设这是你的long数组
String[] stringArray = Arrays.stream(longArray)
.mapToObj(Long::toString) // 使用MapFunction将每个long转换为String
.toArray(String[]::new); // 转换结果并创建新的String数组
// 现在stringArray将是{"1", "2", "3", "4", "5"}
```
在这个例子中,`Arrays.stream()`创建了一个流,然后`.mapToObj(Long::toString)`应用了函数式接口`ToObjFunction<Long, String>`(这里通过lambda表达式Long::toString创建),将每个long元素转换为其字符串形式。最后,`.toArray()`方法接收一个工厂方法(这里是`String[]::new`),用于生成新数组。
相关问题
Java使用流将String数组转换为long数组
可以使用Java 8的Stream API来实现String数组转换为long数组的操作,具体代码如下:
```java
String[] strArray = {"123", "456", "789"};
long[] longArray = Arrays.stream(strArray)
.mapToLong(Long::parseLong)
.toArray();
```
解释一下上面的代码:
1. 首先定义一个String类型的数组`strArray`,其中包含了三个字符串元素。
2. 使用`Arrays.stream()`方法将String数组转换为Stream对象。
3. 调用`mapToLong()`方法将每个字符串转换为长整型数值,并将结果存储到一个LongStream对象中。
4. 最后调用`toArray()`方法将LongStream对象转换为long数组。
这样就可以将String数组转换为long数组了。如果需要将其他类型的数组转换为long数组,可以根据需要调整`mapToLong()`方法的参数。
String数组转换为Long数组
可以使用Java 8中引入的Stream API进行转换,例如:
```java
String[] stringArray = {"1", "2", "3", "4", "5"};
Long[] longArray = Arrays.stream(stringArray)
.map(Long::valueOf)
.toArray(Long[]::new);
```
其中,`Arrays.stream(stringArray)`将String数组转换为一个Stream对象,`map(Long::valueOf)`将每个String元素转换为对应的Long值,最后使用`toArray(Long[]::new)`将Stream对象转换为Long数组。
阅读全文