Comment identifier les types primitifs dans un tableau d'objets
En Java, déterminer si un objet est de type primitif à l'aide de Class.isPrimitive() peut être trompeur. En effet, les objets d'un tableau sont des références aux valeurs réelles.
Pour déterminer avec précision si un objet est primitif, nous devons vérifier si son type est un wrapper pour un type primitif. Le JDK ne fournit pas de méthode intégrée pour cela, mais nous pouvons en créer une personnalisée :
<code class="java">import java.util.*; public class Test { public static void main(String[] args) { System.out.println(isWrapperType(String.class)); // false System.out.println(isWrapperType(Integer.class)); // true } private static final Set<Class<?>> WRAPPER_TYPES = getWrapperTypes(); public static boolean isWrapperType(Class<?> clazz) { return WRAPPER_TYPES.contains(clazz); } private static Set<Class<?>> getWrapperTypes() { Set<Class<?>> ret = new HashSet<>(); ret.add(Boolean.class); ret.add(Character.class); ret.add(Byte.class); ret.add(Short.class); ret.add(Integer.class); ret.add(Long.class); ret.add(Float.class); ret.add(Double.class); ret.add(Void.class); return ret; } }</code>
Cette méthode personnalisée, isWrapperType(), crée un ensemble de types de wrapper primitifs et vérifie si le la classe donnée correspond à n’importe lequel d’entre eux. Cette approche garantit une identification précise des types primitifs dans un tableau Object[].
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!