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

Java等同于C#扩展方法

Java等同于C#扩展方法

萧十郎 2019-12-26 11:05:14
我希望在对象列表中实现功能,就像在C#中使用扩展方法一样。像这样:List<DataObject> list;// ... List initialization.list.getData(id);如何在Java中做到这一点?
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

Java不支持扩展方法。

相反,您可以创建常规的静态方法,也可以编写自己的类。


查看完整回答
反对 回复 2019-12-26
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

扩展方法不仅是静态方法,而且不只是便利语法,实际上,它们是功能非常强大的工具。最主要的是能够基于不同的泛型参数实例化来覆盖不同的方法。这类似于Haskell的类型类,实际上,看起来它们在C#中支持C#的Monad(即LINQ)。即使删除LINQ语法,我仍然不知道有什么方法可以在Java中实现类似的接口。

而且由于Java泛型参数的类型擦除语义,我认为不可能在Java中实现它们。


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

添加回答

举报

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