如果对象是使用 Dagger2 初始化的,是否仍然需要检查对象的无效性?
Is it still necessary to check an object for nullity if it is initialized using Dagger2?
我有一个 AppModule
class ,其中我有以下方法 return 一个 FirebaseUser
我希望在我的整个生命周期中可用的对象我的应用程序。在使用依赖注入之前,我使用了这段代码:
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
//Do stuff
}
是否还需要像这样检查无效性:
@Inject FirebaseUser firebaseUser;
//In onCreate()
if (firebaseUser != null) {
//Do stuff
}
除非您在 @Provides
注释方法上明确添加 @Nullable
,否则 Dagger 将 never inject null
values。如果你想注入一个可为空的对象,那么你还需要 @Nullable
注释。
Is it still necessary to check an object for nullity if it is initialized using Dagger2?
否,如果您的注入设置正确,您将永远不必处理 null
值,除非您明确想要这样做。如果您仍然收到 NullPointerException,则说明您的 Dagger 设置有问题,需要修复。
我有一个 AppModule
class ,其中我有以下方法 return 一个 FirebaseUser
我希望在我的整个生命周期中可用的对象我的应用程序。在使用依赖注入之前,我使用了这段代码:
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
//Do stuff
}
是否还需要像这样检查无效性:
@Inject FirebaseUser firebaseUser;
//In onCreate()
if (firebaseUser != null) {
//Do stuff
}
除非您在 @Provides
注释方法上明确添加 @Nullable
,否则 Dagger 将 never inject null
values。如果你想注入一个可为空的对象,那么你还需要 @Nullable
注释。
Is it still necessary to check an object for nullity if it is initialized using Dagger2?
否,如果您的注入设置正确,您将永远不必处理 null
值,除非您明确想要这样做。如果您仍然收到 NullPointerException,则说明您的 Dagger 设置有问题,需要修复。