有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过Lombok将返回类型绑定到超类型

是否有可能将我试图使用@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,而不是SubjectObservableSubject的超类型


共 (1) 个答案

  1. # 1 楼答案

    这不可能直接实现。但你可以这样做:

    public final class ProtrocolMessageRepository {
        private final Subject<StartGameResponse> startGameSubject = PublishSubject.create();
        @Getter
        private final Observable<StartGameResponse> startGameObservable = startGameSubject;
    }
    

    然而,我怀疑这是否真的值得,因为代码显然不那么容易理解,但也不会比不使用Lombok编写自己的手动getter短多少。所以你真的应该手动实现