Java中的函数指针

这可能是普通且琐碎的事情,但我似乎在寻找具体答案时遇到了麻烦。在C#中,有一个委托的概念,它与C ++中的函数指针紧密相关。Java中是否有类似的功能?考虑到指针的缺失,最好的方法是什么?需要明确的是,我们在这里谈论头等舱。

回答:

类似函数指针的功能的Java习惯用法是实现接口的匿名类,例如

Collections.sort(list, new Comparator<MyClass>(){

public int compare(MyClass a, MyClass b)

{

// compare objects

}

});

更新:在Java 8之前的Java版本中,以上是必要的。现在,我们有更好的替代方法,即lambda:

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

和方法参考:

list.sort(MyClass::isGreaterThan);

以上是 Java中的函数指针 的全部内容, 来源链接: utcz.com/qa/411950.html

回到顶部