编程语言
首页 > 编程语言> > Java等价的Delphi语言特性

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).

标签:delphi-10-seattle,java,java-8,delphi
来源: https://codeday.me/bug/20190727/1555600.html