首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><T> Stream<T> -不理解此返回类型

<T> Stream<T> -不理解此返回类型
EN

Stack Overflow用户
提问于 2018-09-30 15:24:13
回答 2查看 218关注 0票数 0

我是Streams的新手,当我研究一些方法时,我看到了这个return-Type:

代码语言:javascript
复制
<T> Stream<T>

我不明白"<T> Stream<T>“和"Stream<T>”之间的区别。额外的<T>是做什么的?谢谢你的帮助。我试着用谷歌搜索一下。

EN

回答 2

Stack Overflow用户

发布于 2018-09-30 15:43:48

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

票数 1
EN

Stack Overflow用户

发布于 2018-09-30 16:41:35

它不仅仅是特定于Stream的。

静态泛型方法需要独立于类的泛型声明的自己的泛型声明(public static <T>)。

Stream的concat方法是static,例如,

代码语言:javascript
复制
public static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b) 

而它的filter方法不是。

代码语言:javascript
复制
Stream<T> filter(Predicate<? super T> predicate);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52575623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档