map泛型转换
时间: 2023-07-02 15:19:17 浏览: 119
在 Java 中,我们可以使用 `map` 方法对集合中的元素进行转换。`map` 方法接收一个函数作为参数,该函数将应用于每个集合元素,并返回一个新的集合。以下是一个示例代码,将一个 `List` 中的整数元素转换为字符串类型:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<String> strings = numbers.stream()
.map(Object::toString)
.collect(Collectors.toList());
```
在上面的代码中,我们使用 `stream` 方法将 `List` 转换为流,然后使用 `map` 方法将每个整数元素转换为字符串类型,并最后使用 `collect` 方法将结果收集到一个新的 `List` 中。
如果你想要实现自定义的泛型转换,你可以定义一个函数接口,然后将其作为 `map` 方法的参数。以下是一个示例代码,将一个 `List` 中的字符串元素转换为整数类型:
```java
@FunctionalInterface
interface Converter<T> {
T convert(String s);
}
List<String> strings = Arrays.asList("1", "2", "3", "4", "5");
Converter<Integer> converter = Integer::valueOf;
List<Integer> numbers = strings.stream()
.map(converter::convert)
.collect(Collectors.toList());
```
在上面的代码中,我们定义了一个名为 `Converter` 的函数接口,该接口接收一个字符串参数并返回一个泛型类型的结果。然后我们使用 `Integer::valueOf` 方法实现了这个接口,并将其作为 `map` 方法的参数。最后,我们使用 `collect` 方法将结果收集到一个新的 `List` 中。
阅读全文