我在哪里可以找到关于在 java 方法的签名中使用单词 "or" 的解释?



我必须解释我的主题,因为我不知道如何在谷歌上搜索。。。我只需要一个提示。

我正在做一个关于引用方法和Lamdba的Java教程"如何过滤人员列表中的人员";。我不担心我该怎么做,而是我能在哪里找到并解释什么是这个构造"strong>";filterName和界面中的另一个"strong>";默认公共Filter或(Filter filtro({">

";filterName,这是一个Interface.or

";默认的公共Filter或(Filter-filtro({">我认为这是一个没有名称的方法,因为它就像一个函数接口,不需要名称,但如何使用…?

我发现了这种结构:

public class MainDF {
public static void main(String[] args) {
test();
}
public static void test() {
Filter filterName = new FiltroName();
Filter filterAge = new FilterAge();
// I've never seen this, an interface with and or
Filter otherFilterName = filterName.or( filterAge );
Persona persona = new Persona("Michael", 18);
filterName.testear(persona);
otherFilterName.testear(persona);
}
}

使用的接口是这样的:

import data.Persona;
public interface Filter {
public boolean testear( Persona persona );
// I can't understand how this works, Filter is the type return but 
// how it works the combination of Filter or (Filter filter)
default public Filter or (Filter filtro) {
System.out.println("entrando en default...");
return (Persona p)->{
return testear(p) || filtro.testear(p);
};
}
}

提前谢谢!

异常代码,但or在这里不是关键字或连词。这是一个方法名称。它也可以被称为test_with_or。代码:

public Filter or (Filter filtro) {
// ...
}

更常见的写法是(没有令人困惑的空白(:

public Filter or(Filter filtro) {
// ...
}

意味着or是一个方法,它取一个Filter,它返回一个Filter。想象一下,它写为:

public Filter test_with_or(Filter filtro) {
// ...
}

相关内容

  • 没有找到相关文章

最新更新