我在使用 Lombok 的@Builder注釋創建 POJO 并在運行時將其映射到預期型別時遇到問題。
這是我的代碼:
操作結果.java
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class OperationResult<D>
{
private D data;
}
操作結果測驗.java
import org.junit.jupiter.api.Test;
public class OperationResultTest
{
@Test
public void testGenerics()
{
OperationResult<String> restult = OperationResult.builder()
.data("Test")
.build();
}
}
這會導致編譯錯誤,指出回傳的型別是OperationResult<Object>并且不能轉換為預期的OperationResult<String>.
是否可以使用泛型并使用 Lombok 的@Builder注釋知道回傳的型別?
謝謝你的幫助!
uj5u.com熱心網友回復:
要解決編譯錯誤,您應該在呼叫builder()方法時定義泛型,如下所示:
OperationResult<String> result = OperationResult.<String>builder()
.data("Test")
.build();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510447.html
標籤:爪哇仿制药龙目岛
