import lombok.Data;
import lombok.extern.java.Log;
import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.util.List;
/**
* Application
*
* @author kut
*/
@Log
public class Application
{
@Data
private static class DTO
{
private List<String> members;
}
public static void main(String[] args) throws Exception
{
DTO dto = new DTO();
Field field = dto.getClass().getDeclaredField("members");
Class type = field.getType();
if (List.class.isAssignableFrom(type))
{
log.info("list ok");
ParameterizedType parameterizedType = (ParameterizedType) field.getGenericType();
log.info("Parameterized type: " + parameterizedType.getActualTypeArguments()[0]);
}
log.info("OK");
}
}