是否可以将我尝试通过@Getter注释公开的字段类型绑定到超类型?
例如,我有以下代码:
@AppScope
public final class ProtrocolMessageRepository {
@Getter
private final Subject<StartGameResponse> startGameSubject = PublishSubject.create();
private final Subject<WaitForGameResponse> waitForGameSubject = PublishSubject.create();
private final Subject<FinishedGameResponse> finishedGameSubject = PublishSubject.create();
}
我试图将startGameSubject
字段公开为Observable
而不是Subject
。 Observable
是Subject
的超类型。
答案 0 :(得分:0)
这不可能直接实现。但是您可以执行以下操作:
public final class ProtrocolMessageRepository {
private final Subject<StartGameResponse> startGameSubject = PublishSubject.create();
@Getter
private final Observable<StartGameResponse> startGameObservable = startGameSubject;
}
但是,我怀疑这是否真的值得,因为代码显然不那么容易理解,但是比没有Lombok编写自己的手动吸气剂短得多。因此,您确实应该手动实现。