为了账号安全,请及时绑定邮箱和手机立即绑定

Java中函数指针最近的替代品是什么?

Java中函数指针最近的替代品是什么?

ibeautiful 2019-07-12 16:26:36
Java中函数指针最近的替代品是什么?我有一个大约十行代码的方法。我想要创建更多的方法来做完全相同的事情,除了一个小的计算,它将改变一行代码。这是传递函数指针以替换这一行的完美应用程序,但是Java没有函数指针。我最好的选择是什么?
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

对于每个“函数指针”,我会创建一个小的函子类实现了你的计算。定义所有类都要实现的接口,并将这些对象的实例传递到更大的函数中。这是“指挥模式“,和”战略模式".


查看完整回答
反对 回复 2019-07-12
?
慕沐林林

TA贡献2016条经验 获得超9个赞

当在这一行中预先定义了一些不同的计算时,使用枚举是实现策略模式的一种快速而清晰的方法。

public enum Operation {
    PLUS {
        public double calc(double a, double b) {
            return a + b;
        }
    },
    TIMES {
        public double calc(double a, double b) {
            return a * b;
        }
    }
     ...

     public abstract double calc(double a, double b);}

显然,策略方法声明以及每个实现的确切实例都是在一个类/文件中定义的。


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 634 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信