Maison >Java >javaDidacticiel >Comment déterminer le type générique d'un objet « Liste » Java ?
Comment récupérer le type générique d'une java.util.List
En Java, les génériques permettent aux collections de stocker des éléments d'un type spécifique , tel que List
Une approche pour récupérer le type générique implique la réflexion, comme le démontre le code suivant :
import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.util.ArrayList; import java.util.List; public class Test { List<String> stringList = new ArrayList<>(); List<Integer> integerList = new ArrayList<>(); public static void main(String... args) throws Exception { Class<Test> testClass = Test.class; Field stringListField = testClass.getDeclaredField("stringList"); ParameterizedType stringListType = (ParameterizedType) stringListField.getGenericType(); Class<?> stringListClass = (Class<?>) stringListType.getActualTypeArguments()[0]; System.out.println(stringListClass); // class java.lang.String Field integerListField = testClass.getDeclaredField("integerList"); ParameterizedType integerListType = (ParameterizedType) integerListField.getGenericType(); Class<?> integerListClass = (Class<?>) integerListType.getActualTypeArguments()[0]; System.out.println(integerListClass); // class java.lang.Integer } }
Cette technique peut être utilisé pour obtenir le type générique des champs, les types de paramètres et les types de retour des méthodes. Cependant, il est important de noter que si le type générique se trouve dans la même portée où il est déclaré, il n'est pas nécessaire de le récupérer puisqu'il est déjà connu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!