Java中的函数指针?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (67)

在C#中有一个概念,它与C++中函数指针的概念密切相关。Java中有类似的功能吗?

提问于
用户回答回答于
Collections.sort(list, new Comparator<MyClass>(){
    public int compare(MyClass a, MyClass b)
    {
        // compare objects
    }
});

lambdas:

list.sort((a, b) -> a.isGreaterThan(b));

list.sort(MyClass::isGreaterThan);
用户回答回答于

可以用接口替换函数指

public interface IFunction {
  public void execute(Object o);
}

这是我们可以传递给一些人的接口

public static void doFunc(Collection c, IFunction f) {
   for (Object o : c) {
      f.execute(o);
   }
}

CollectionUtils2.doFunc(List numbers, new IFunction() {
    public void execute(Object o) {
       Integer anInt = (Integer) o;
       anInt++;
    }
});

扫码关注云+社区

领取腾讯云代金券