lambda表达式中如何添加泛型
时间: 2023-12-20 12:25:37 浏览: 78
在lambda表达式中添加泛型,需要使用Java中的泛型语法。Lambda表达式的参数列表和返回值可以使用泛型类型。
例如,下面是一个使用泛型的Lambda表达式示例:
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.stream()
.map(s -> s.toUpperCase()) //使用泛型类型
.forEach(System.out::println);
在这个示例中,Lambda表达式使用了一个泛型类型,即 map
方法中的参数类型为 Function<? super String, ? extends R>
,其中 R
是返回值类型。Lambda表达式中的参数 s
的类型是 String
,返回值类型是 R
。由于 map
方法是泛型方法,可以根据 Lambda 表达式的类型推断出 R
的具体类型。
另外,Lambda表达式也可以使用泛型方法,例如:
public static <T> T identity(T t) {
return t;
}
String result = identity("hello world", s -> s.toUpperCase());
System.out.println(result);
在这个示例中,Lambda表达式使用了一个泛型方法 identity
,并将其作为参数传递给了 identity
方法。Lambda表达式的类型是 Function<String, String>
,其中 T
是泛型类型。在调用 identity
方法时,可以通过类型推断推断出 T
的具体类型。
相关推荐


















