小编Byo*_*ob 的帖子

Lombok 的 @Builder 与通用类型字段发生错误

我在使用 Lombok 注释创建 POJO@Builder并使其在运行时映射到预期类型时遇到问题。

这是我的代码:

操作结果.java

import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class OperationResult<D>
{
    private D data;
}
Run Code Online (Sandbox Code Playgroud)

操作结果测试.java

import org.junit.jupiter.api.Test;
public class OperationResultTest
{
    @Test
    public void testGenerics()
    {
        OperationResult<String> restult = OperationResult.builder()
            .data("Test")
            .build();
    }
}
Run Code Online (Sandbox Code Playgroud)

这会导致编译错误,指出返回的类型是OperationResult<Object>且无法转换为预期类型OperationResult<String>

是否可以使用泛型并使用 Lombok 的@Builder注释了解返回的类型?

感谢您的帮助!

java generics lombok

4
推荐指数
1
解决办法
1810
查看次数

标签 统计

generics ×1

java ×1

lombok ×1