如果没有 '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);
}
});
}
}
通过搜索您的语法,我找到了这两个链接:
通过使用这些,它应该看起来像这样:(未经测试)
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);
}
}
});
}
我是 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);
}
});
}
}
通过搜索您的语法,我找到了这两个链接:
通过使用这些,它应该看起来像这样:(未经测试)
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);
}
}
});
}