Java 相当于 javascript 中的返回函数

标签 java javascript reflection three.js

我正在将 Three.js 移植到 java,并进行一些我自己的更改和添加。但是我无法决定如何处理反射。

我需要实现一些在 Three.js 中返回函数的方法,例如 THREE.Line3.closestPointToPointParameter。在 java 中实现这个想法的最佳方法是什么,或者重写该方法以执行更自定义的行为是一个好主意吗?我对想法和技术持开放态度。

最佳答案

函数不是 Java 中的一等公民,你不能返回它们或将它们分配给变量。 Java的方式是创建匿名内部类。例如:

interface FunctionInterface {
  float bar(int x);
}

FunctionInterface foo() {
  return new FunctionInterface() {

    @Override
    public float bar(int x) {
      return x;
    }

  };
}

请注意,Java 8 将引入闭包,这将使所有这些变得不那么冗长。

关于Java 相当于 javascript 中的返回函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031720/

相关文章:

java - 嵌套枚举-为什么使用它?

Javascript 删除样式而不给它一个 id 或一个类

c# - 在 jqGrid 中,读取与保存单个属性/列是否有不同的值?

c# - 如何使用 lambda 表达式将属性列表传递给方法

java - 从 util.Date 到 sql.Date 的转换不起作用

java - 从java中的对象数组中检索分配给特定类成员的值数组

java - Android - 自定义对话框

javascript - jQuery 淡入不同页面

javascript - 这些迭代有什么不同?

c# - 重新抛出 ex.InnerException 是个坏主意?