Javascript to Java:匿名函数和动态对象

时间:2017-10-25 21:10:57

标签: javascript java types

在Java中做

这样的最短方法是什么?
var coolthing = {
  start : function() { start(); },
  end   : function() { end(); },
  fool  : 'hardy'
}

这里我们将匿名函数作为“匿名”对象的值。我应该使用Map吗?可以将函数定义为值类型吗?我如何混合类型?等等。

注意热心的mods:我要求最短的方式。这不是基于意见的。

1 个答案:

答案 0 :(得分:1)

排序。您可以创建一个类似于匿名对象的映射,但值必须是相同的类型。 Java 9提供了一种构建地图的简便方法。使用Java 8,您可以拥有lambda,它们实际上是匿名类,但看起来像函数。你有many functional interfaces to choose from,你可以创建自己的。{3}}。

Map<String, Supplier<Integer>> coolthing = Map.of("start", () -> {return 1;}, "end", () -> {return 2;});