Java 消费者接受和返回 boolean 值或字符串的能力

标签 java lambda syntax interface

这是一个普通的消费者,它的用法是:

public static void main(String[] args){
    Consumer<String> consumer = (str) -> {
        //stuff
    };

    consumer.accept(args[0]);
}

这是我正在尝试做的事情(让它让消费者以 boolean 值返回)
public static void main(String[] args){
    Consumer<String> consumer = (str) -> {
        return str.equals("yes"); //type mis-match error because consumer is void not boolean
    };

    boolean a = consumer.accept(args[0]); //type mis-match error because consumer is void not boolean
}

如何操纵消费者以 boolean 值返回?

没有明显地创建一个全新的界面....(下)
public interface ConsumerB {
    boolean accept(String s);
}

最佳答案

退货的消费者不再是消费者。它变成了 Predicate<String> :

Predicate<String> consumer = (str) -> {
    return str.equals("yes"); 
};

您还在标题中提到您希望功能接口(interface)返回 String .在这种情况下,请使用 Function<String, String> .

关于Java 消费者接受和返回 boolean 值或字符串的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50998923/

相关文章:

perl - Perl 中的嵌套解引用箭头 : to omit or not to omit?

java - jxl 如何给一系列单元格添加边框?

java - Google App Engine Blobstore 图像

java - 创建大十进制对象时出错

c++ - 如何在 C++11 lambda 中跟踪对象生命周期?

android - 如何使用 lambda 表达式返回对象数组中的成员值

Java 比较器语法可以工作,但为什么呢?

java - 如何自动写入和读取文件?

c++ - const std::unordered_map<char, int>' as ‘this’ 参数丢弃 lambda 中的限定符

html - CSS语法含义列表样式