从Spring Boot中的泛型参数中获取值,可以使用Java的反射机制来实现。下面是一个可能的实现方式:
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public class GenericParameterDemo<T> {
public Class<?> getGenericType() {
Type type = getClass().getGenericSuperclass();
ParameterizedType parameterizedType = (ParameterizedType) type;
Type[] typeArguments = parameterizedType.getActualTypeArguments();
if (typeArguments.length > 0) {
return (Class<?>) typeArguments[0];
}
return null;
}
public static void main(String[] args) {
GenericParameterDemo<String> demo = new GenericParameterDemo<>();
Class<?> genericType = demo.getGenericType();
if (genericType != null) {
System.out.println("Generic type: " + genericType.getName());
} else {
System.out.println("No generic type found.");
}
}
}
这段代码定义了一个泛型参数类GenericParameterDemo<T>
,通过调用getGenericType()
方法可以获取泛型参数的实际类型。在main()
方法中创建了一个GenericParameterDemo<String>
的实例,然后通过getGenericType()
方法获取泛型参数的类型。
在Spring Boot中使用这个方式,可以将该代码段嵌入到需要获取泛型参数值的地方,并根据实际情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云