java - 如何将字符串映射到未知返回类型的java方法引用?

标签 java

我想映射 String到方法引用。问题是这个方法可以返回 voidboolean .

我正在使用@FunctionalInterface但似乎它只能有一种方法(我需要一个用于 void 和一个用于 boolean ?)。

下面是我到目前为止的代码。注释行是我想做的。


@FunctionalInterface
interface MethodParser <T1, T2> {
    public void apply(T1 arg1, T2 arg2);
}

public class OperatorParser {

    public static Map<String, MethodParser> INTEGER = new HashMap<String, MethodParser>();

    public static void buildInteger() {
        MethodParser<Integer_, Integer> plus = (pObj, pValue) -> pObj.plus(pValue);
        MethodParser<Integer_, Integer> minus = (pObj, pValue) -> pObj.minus(pValue);

        // MethodParser<Integer_, Integer> grThan = (pObj, pValue) -> pObj.greaterThan(pValue);
        // MethodParser<Integer_, Integer> lessTh = (pObj, pValue) -> pObj.lessThan(pValue);

        OperatorParser.INTEGER.put("+", plus);
        OperatorParser.INTEGER.put("-", minus);

        // OperatorParser.INTEGER.put(">", grThan);
        // OperatorParser.INTEGER.put("<", lessTh);
    }

}

对象Integer_表示一个整数,并具有 void 方法( plus(int)minus(int) )来更改 value对象和 boolean返回值的方法( greaterThan(int)lessThan(int) )。

MethodParser接口(interface)只是我发现将字符串映射到方法引用的一种方法。我用它来将给定的字符串映射到其他地方已经存在的方法。

注意:我尝试过的一些类似问题(这些对我不起作用):

最佳答案

void创建一个方法,为boolean创建一个方法,以及一个包含告诉何时使用其中之一的条件的方法。 我不知道有什么方法可以有两种返回类型。 您可以使用 POJO 类实例通过分组返回多个值。

关于java - 如何将字符串映射到未知返回类型的java方法引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56139469/

相关文章:

java - 为什么 java socket.io 发射失败

java - 令人惊讶的编译错误获取类的数组类

Java Canvas 类不作画

java - 运行maven test命令时没有测试运行

java - Java 中的泛型,通用函数

java - libgdx:物体碰撞时的速度损失

java - Android - java - 计算字数

java - 如何在 Windows 上设置 Stanford CoreNLP 服务器以返回文本情绪

java - 让图像按钮更改页面上的不同图像

java - java 是否有相当于 C# `using` 语句的语句