Java 创建流<;T>;来自单个对象

Java 创建流<;T>;来自单个对象,java,java-stream,Java,Java Stream,如何从单个对象创建流?这种基本操作在流API中显示出问题。为了举例说明,我想有意义地完成以下方法 private Node parent; private List<Node> children; public Stream<Node> getFilteredNodes(Options o) { if(o.findParent()/*special case*/) return /*??? stream containing just parent*/;

如何从单个对象创建流?这种基本操作在流API中显示出问题。为了举例说明,我想有意义地完成以下方法

private Node parent;
private List<Node> children;
public Stream<Node> getFilteredNodes(Options o) {
    if(o.findParent()/*special case*/) return /*??? stream containing just parent*/;
    return children.stream().filter(x -> x.getName().equals(o.getQuery()));
}
私有节点父节点;
私人名单儿童;
公共流getFilteredNodes(选项o){
if(o.findParent()/*特殊情况*/)返回/*???仅包含父*/的流;
返回children.stream().filter(x->x.getName().equals(o.getQuery());
}
或者换句话说,我想要像LINQs
returnenumerable.Repeat这样的东西(parent,1)。即使将父项存储在一个包含单个项的列表中也可以,但它也会使其他逻辑复杂化,因此我更喜欢使用内置方法



至于我需要它的目的——搜索API的一致性,因此我可以使用相同的方法调用上下搜索层次结构(并将两者结合),将其传送到下一个阶段。

有一种方法:

 Stream.of(YourObject)

我只是想知道你是否真的需要这里的单元素流,因为有一个以var arg为参数的流构造函数,你可以通过一个return语句返回一个或多个元素的流

很简单-我无法解释为什么我的谷歌搜索没有找到这个(使用不同的关键字可能有意义?)。感谢您的回复,10分钟后接受。有一个重载工厂方法用于创建单参数流:
publicstaticstreamof(tt)
(返回一个包含单个元素的顺序
流)。如果
YourObject
是数组,则此方法无效。