有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何折射一个可以有两个流的类

我有一门课,如下所示

public class Fig implements SomeThing {

    private BiPredicate<List<A>, B> predicate;
    private BiPredicate<Set<X>, Y> otherpredicate;

    private SomeThing something;
    private SomeThing somethingElse;

    public Fig(BiPredicate<List<A>, B> p, SomeThing something, SomeThing somethingElse) {
        this.predicate = p;
        this.something = something;
        this.somethingElse = somethingElse;
    }
    public Fig(BiPredicate<Set<X>, Y> p, SomeThing something, SomeThing somethingElse) {
        this.otherpredicate = p;
        this.something = something;
        this.somethingElse = somethingElse;
    }
    @Override
    public List<String> apply(List<A> a, B b) {
        if (predicate.test(a, b))
            return something.call(a, b);
        else 
            return somethingElse.call(a, b);
    }
    @Override
    public List<String> applyAnother(Set<X> a, Y b) {
        if (otherpredicate.test(a, b))
            return something.call(a, b);
        else
            return somethingElse.call(a, b);
    }
}

似乎其中一个谓词的值为空。我觉得这不对

在其他地方,我会创建Fig的具体实例,并根据参数调用apply方法。如何折射这种代码

这些字母表都不是泛型的,只是具体类的表示


共 (0) 个答案