为了账号安全,请及时绑定邮箱和手机立即绑定

<T> Stream<T> - 不理解这个返回类型

<T> Stream<T> - 不理解这个返回类型

蝴蝶不菲 2021-10-20 11:32:22
我是 Streams 的新手,在查看一些方法时,我看到了这个返回类型:<T> Stream<T>我不明白“ <T> Stream<T>”和“ Stream<T>”之间的区别。多余的有<T>什么作用?谢谢你的帮助。我试着谷歌一下。
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

当我们在 Java 中处理泛型时,我们应该知道我们可以像public interface Stream<T>这样定义泛型类或接口,因此任何即时方法都将使用 T 类型,Stream<T> filter(但是如果您在同一个类/接口中定义静态方法,则应定义泛型返回类型public static<T> Stream<T> empty()或如果你想定义一个具有新泛型返回类型的实例方法,<R> Stream<R> map(因为你可以在非泛型类中有一个泛型方法。我希望它有帮助。干杯


查看完整回答
反对 回复 2021-10-20
?
青春有我

TA贡献1784条经验 获得超8个赞

它不仅特定于Stream.

静态泛型方法需要它们自己的泛型声明 ( public static <T>) 与类的泛型声明分开。

Stream 的concat方法是static,例如,

public static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)

而它的filter方法不是。

Stream<T> filter(Predicate<? super T> predicate);


查看完整回答
反对 回复 2021-10-20
  • 2 回答
  • 0 关注
  • 343 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信