java - 在java中检索具有Predicate返回类型的方法的值

标签 java class methods predicate

我正在开发一个预先存在的java程序,它的一个类计算一些 boolean 特征。一些私有(private)方法可以做到这一点。它们的返回类型是谓词。例如:

 private Predicate<ChunkedBinaryExtraction> startArg1() {
        return new Predicate<ChunkedBinaryExtraction>() {
            public boolean apply(ChunkedBinaryExtraction e) {
                return e.getArgument1().getRange().getStart() == 0;
            }
        };
    }

我想检索这个特征值,我使用了这个简单的语句:

Predicate<ChunkedBinaryExtraction> ftr1=startArg1();
System.out.print("Feature1 is: "+ftr1);

结果应该返回一个 boolean 值:true 或 false,但它显示:

Feature1 is: edu.washington.cs.knowitall.extractor.conf.ReVerbFeatures$3@1eb44e46

我是 Java 编程新手,请帮忙:( 谢谢。

最佳答案

您正在返回一个对象。因此,print 将在谓词对象上调用 toString()。我猜你想要 apply 方法的结果,所以你需要做某事。像这样

ChunkedBinaryExtraction someObject = ...
Predicate<ChunkedBinaryExtraction> ftr1 = startArg1();
System.out.print("Feature1 is: " + ftr1.apply(someObject));

您必须知道 ChunkedBinaryExtraction 对象来自哪里。

关于java - 在java中检索具有Predicate返回类型的方法的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839124/

相关文章:

c++ - 如何从另一个类调用指向成员函数的指针?

python - 查找列表中类实例的位置

c# - 何时使用 this.method()?

C# 泛型方法类型参数不是从用法中推断出来的

java - 如何在构造函数中将 arraylist 或 array 放入 JList 中?

java - 声明后按钮无法识别

java - 优化weka中的随机森林参数?

java - 有没有办法修改封闭类引用?

java - 如何使用java中的反射查找类中使用其他接口(interface)扩展其他类的所有接口(interface)

java - 方法更改参数的值