gpt4 book ai didi

Java枚举使用构造函数参数实例化

转载 作者:行者123 更新时间:2023-12-01 07:05:45 25 4
gpt4 key购买 nike

我有这个枚举:

    public enum Operation {
ADD {
public double apply(double a, double b) {
return a + b;
}
},
SUBTRACT {
public double apply(double a, double b) {
return a - b;
}
}
} ;

public abstract double apply(double a, double b);
`}`

我想像这样实例化它:

Operation op=new Operation("+");
op.aply(2,3);//now use ADD

是否可以编写一个带有字符串参数的构造函数来告诉枚举要应用哪个操作?

最佳答案

您可以定义一个公共(public)静态方法来根据字符串获取正确的操作:

public static Operation get(String input) {
if(input.equals("+")) {
return ADD;
}
if(input.equals("-")) {
return SUBTRACT;
}
throw new IllegalArgumentException();
}

然后你可以这样调用它:

Operation op = Operation.get("+");
op.apply(2, 3);

关于Java枚举使用构造函数参数实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25309311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com