【问题标题】:generate high order functions in java with access specifiers使用访问说明符在 java 中生成高阶函数
【发布时间】:2017-06-01 07:37:26
【问题描述】:

我找到了一种方法,因为 java 8 支持高阶函数:Lambda expressions and higher-order functions

就像在 javascript 中一样:

funcArr = ["abc","def"];
funcArr.forEach(function(x){
   eval(x+"=function(){console.log('new func');}");
}

现在我的问题是,如果我使用上述答案中提到的这种方法,我可以为创建的函数指定访问修饰符

【问题讨论】:

  • 寻找匿名实现??
  • 不是匿名的,需要生成定义好的函数
  • 你能解释一下你需要它的原因吗?我唯一能想到的是 java8 函数式接口 + lambdas?

标签: javascript java


【解决方案1】:

也许这会有用。

   Arrays.asList("abc", "def").forEach(func -> {
            try {
                new ScriptEngineManager().getEngineByName("js").eval(func + "=function(){console.log('new func');}");
            } catch (ScriptException e) {
                //catch
            }
        });

【讨论】:

  • 我发现了另一种方式,因为 java 8 支持高阶函数:stackoverflow.com/questions/15198979/… 现在我的问题是,如果我使用上述答案中提到的这种方法,我可以为创建的函数指定访问修饰符跨度>
猜你喜欢
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 2013-12-14
  • 2019-04-17
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多