mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
[bug修复] JsonUtil.toBean泛型数组类型丢失
This commit is contained in:
@@ -4,8 +4,12 @@ import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import lombok.Data;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class TypeUtilTest {
|
||||
@@ -97,4 +101,29 @@ public class TypeUtilTest {
|
||||
private T level;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* fix github:issue#3873
|
||||
*/
|
||||
@Test
|
||||
public void getActualTypeForGenericArrayTest() {
|
||||
TypeReference<GenericArray<GenericArrayEle>> typeReference = new TypeReference<GenericArray<GenericArrayEle>>() {
|
||||
|
||||
};
|
||||
|
||||
Type levelType = TypeUtil.getFieldType(GenericArray.class, "level");
|
||||
Type actualType = TypeUtil.getActualType(typeReference.getType(), levelType);
|
||||
assertEquals(ArrayUtil.getArrayType(GenericArrayEle.class), actualType);
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class GenericArray<T> {
|
||||
private T[] level;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class GenericArrayEle {
|
||||
private Long uid;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user