加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java等价的Delphi语言特性

发布时间:2020-12-15 04:33:03 所属栏目:Java 来源:网络整理
导读:参见英文答案 Equivalent of C# anonymous methods in Java?????????????????????????????????????6个 我通常在Delphi中编写代码,但是我必须快速地使用Java进行追赶 对于一个特定的项目.我在识别Java方面遇到了问题 因为可能是因为许多Delphi语言功能的等价
参见英文答案 > Equivalent of C# anonymous methods in Java?????????????????????????????????????6个
我通常在Delphi中编写代码,但是我必须快速地使用Java进行追赶
对于一个特定的项目.我在识别Java方面遇到了问题
因为可能是因为许多Delphi语言功能的等价物
不同的术语用于指代它们.

我从Java语言规范中看到它支持lambda
表达式,所以我想我能找到一些显示Java等效于匿名方法的示例.

我的问题是Java是否具有以下等价物
Delphi类型,如果是,它们的名称或等价物
Java构造:

>传统过程,函数类型,如MyProc = procedure(I:Integer)类型
>对象的对象和功能的过程

(我希望这些都足够接近一个问题)

解决方法

>在Java中,方法永远不会是独立的,它们总是绑定到接口/类.所以没有什么可以创建类型引用.
>检查例如 Java SE 8: Lambda Quick Start.

它使用Lambda表达式并将其赋值给变量allPilots …

Predicate<Person> allPilots = p -> p.getAge() >= 23 && p.getAge() <= 65;

…并使用它从不同的地方调用该方法:

System.out.println("n=== Mail all Pilots ===");
robo.mailContacts(pl,allPilots);
...
public void mailContacts(List<Person> pl,Predicate<Person> pred) {
    for (Person p : pl) {
        if (pred.test(p)) {
            roboEmail(p);
        }
    }
}

其中Predicate接口定义为

public interface Predicate<T> {
    public boolean test(T t);
}

这在功能上接近Delphi中对象的功能(因为接口具有返回类型).对于对象的方法,功能接口简单地没有返回类型(void).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读