如果没有 'retrolambda' 语法,我该如何写呢?

How do I write this without 'retrolambda' syntax?

我是 Java 的 100% 新手,我正在尝试将 Crashlytics 添加到我的 React Native 项目中。我在互联网上能找到的唯一代码片段是 retrolambda 语法。

我意识到我可以添加那个特定的 "library" 或其他任何东西,所以它有效,但考虑到它是我项目中唯一使用的地方,我宁愿将它转换为 'older format' 而不是添加一个库只是为了完成一个功能。

public final class AppReactPackage implements ReactPackage {

  @Override
  public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
    addExceptionHandler(reactContext);
  }

  private void addExceptionHandler(ReactApplicationContext reactContext) {
    // Fyi, this is using Retrolambda for Java 8 syntax
    reactContext.setNativeModuleCallExceptionHandler(e -> {
      if (e instanceof JavascriptException) {
        Crashlytics.log(e.getMessage());
      } else {
        Crashlytics.logException(e);
      }
    });
  }
}

通过搜索您的语法,我找到了这两个链接:

  1. React
  2. NativeModuleCallExceptionHandler

通过使用这些,它应该看起来像这样:(未经测试)

private void addExceptionHandler(ReactApplicationContext reactContext) {
    reactContext.setNativeModuleCallExceptionHandler(new NativeModuleCallExceptionHandler() {
        @Override
        public void onHandleException(Exception e) {
            if (e instanceof JavascriptException) {
                Crashlytics.log(e.getMessage());
            } else {
                Crashlytics.logException(e);
            }
        }
    });
}