java - 如何对每个项目进行迭代和执行一些任意操作?

标签 java polymorphism

我有一个具有这个功能的抽象迭代器类

void iterate(){
    while(this.hasnext()){
        ..this.next()..
    }
}

如何传入将应用于下一个元素的任意函数。例如,是否有办法执行 iterate(print)

最佳答案

在Java中,直接将函数作为参数传入是不可能的。相反,您需要使用一种方法设置接口(interface),如下所示:

interface Operate {
    public void operate(Object o);
}

然后,您需要为要对 Object 执行的每个不同操作实现接口(interface)。

示例实现。

class Print implements Operate {
    public void operate(Object o){
        System.out.println(o.toString());
    }
}

在您的代码中实现:

iterate(Operate o){
    while(this.hasnext()){
        o.operate(this.next());
    }
}

关于java - 如何对每个项目进行迭代和执行一些任意操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1675631/

相关文章:

c++ - 投给一个 child

java - 如何在 Hibernate 中映射多个复合键?

java - 为什么 Toast.makeText(...) 和 toastObj.makeText(...) 运行方式不同?

java - java中函数重载与跨继承类的函数重写

polymorphism - SML NJ - 多态自定义列表类型并对元素求和

inheritance - F# 和继承建模

java - 具有 boolean 运算符的递归函数

java - 循环后写入字符串

java - 使用 "in"运算符的 Android 查询不起作用

c++ - 没有任何功能的 C++ 多态类是否可能?