在哪里可以找到关于在java方法的签名中使用“or”这个词的解释?

wsxa1bj1  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(388)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

上个月关门了。
改进这个问题
我必须解释我的主题,因为我不知道如何在谷歌上搜索这个。。。我只需要一个提示。
我正在做一个关于引用方法和lamdba的java教程。”如何筛选人员列表中的人员”。我不担心我如何做到这一点,但我可以在哪里找到和解释这个构造“filtername.or”和这个接口中的其他“default public filter or(filter filtro){”
“filtername.or”,这是一个接口
“default public filter or(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);
    };

}
}

提前谢谢!

llew8vvj

llew8vvj1#

不寻常的代码,但是 or 这里不是关键字或连词。它是一个方法名。也可以叫它 test_with_or . 代码:

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

通常写为(没有令人困惑的空格):

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

意思是 or 是一种方法,需要 Filter ,并返回 Filter . 想象一下它是这样写的:

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

相关问题