簡體   English   中英

Java中的JavaScript匿名函數

[英]JavaScript Anonymous functions in Java

我是JavaScript的新手,並且具有Java的一些中級知識,經過幾次練習后,我感到一個令人困惑的問題,是否有辦法在Java中應用匿名函數的概念? 可能嗎? 我很清楚我可能會因提出這個問題而受到批評,但無論如何我都是在問。 下面是一個JavaScript匿名函數的示例。

var myResult = (function () {
            return arguments[0] + arguments[1];
    }) (1,2);
alert(myResult);

使用@FunctionalInterface Java 8

public class Test {
    @FunctionalInterface
        public interface Func {
        public String concat(String a, String b);
    }

    public static void main(String[] args) {
        Func func = (a, b) -> a + b;
        System.out.print(func.concat("Hello ", "World!"));
    }
}

匿名內部類正是這樣做的。 在Java中,函數不能獨立存在; 它必須包裝在一個類中。 因此,最接近匿名函數的是匿名內部類。

int myResult = (new Object() {
public int calc(int[] args){
        return args[0] + args[1];
    } }).calc( new int[]{ 1, 2} );
System.out.println(myResult);

現在,可以使用Java 8使用lambda表達式(具有功能接口)輕松地完成此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM