我試圖創建一個吉斯參數@Named Integer
允許空值的情況下,在沒有值適用於工作:吉斯:@Nullable拒絕與@Named
@Singleton
public class MyClass extends SomeOtherClass {
@Inject
MyClass(Object o, @Named("the name") @Nullable Integer myParam) {
...etc...
}
}
和
@Provides
@Named("the name")
public Integer getParamName() {
// Set to null for Not Applicable
return null;
}
不幸的是,吉斯似乎並不喜歡這樣的:
null returned by binding at my.package.ApplicationConfig$MyModule.getParamName()
but parameter 1 of my.package.MyClass.<init>() is not @Nullable
的@Nullable
annota我正在使用的是com.google.inject.internal.Nullable
,它包含在Guice中,確實有@Retention(RetentionPolicy.RUNTIME)
。
我在堆棧溢出中找到的類似問題不幸的是無構造或不適用。有任何想法嗎?
嘗試將@Nullable添加到提供者方法。 – efan