gpt4 book ai didi

java - 如何使用接口(interface)作为 map 的值?

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

我想编写一个处理数学运算符的应用程序。我定义了一个这样的接口(interface):

public interface Operator
{
public double calculate(double a,double b);
}

对于每个运算符,我编写一个这样的类:

class Plus implements Operator
{
public double calculate(double a,double b)
{
return firstNumber + secondNumber;
}
}
class Minus implements Operator
{
public double calculate(double a,double b)
{
return firstNumber - secondNumber;
}
}

等等...我像这样使用 Map:

static Map<String,Operator> map = new HashMap<String,Operator>();

我不知道如何使用putget。例如,

map.put("-",...);
map.put("*",...);
map.put("/",...);

最佳答案

您不需要执行new Operator(),只需创建子类的实例((PlusMinus等.) 本身。换句话说:

map.put("-", new Minus());
map.put("*", new Multiply());
map.put("+", new Plus());
<小时/>

要调用计算,只需执行以下操作:

double result = map.get("+").calculate(a, b);

关于java - 如何使用接口(interface)作为 map 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32163565/

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