Maison > Java > javaDidacticiel > le corps du texte

Comment déterminer si un objet encapsule un type primitif en Java ?

Mary-Kate Olsen
Libérer: 2024-10-31 20:27:29
original
926 Les gens l'ont consulté

How to Determine if an Object Wraps a Primitive Type in Java?

Déterminer si un objet est primitif : utilisation de la détection de type de wrapper

En Java, un objet peut envelopper des valeurs primitives via l'auto-boxing. Pour différencier les vrais types primitifs des primitives encadrées, une approche spécifique est nécessaire.

Vérification des types primitifs à l'aide de Class.isPrimitive()

Le Class.isPrimitive() La méthode ne convient pas à cet effet. Les types primitifs sont représentés sous forme de références à leurs classes wrapper (par exemple, un objet Integer pour int).

Méthode alternative : identification des types wrapper

La solution consiste à déterminer si un le type de l'objet est un wrapper pour un type primitif. Bien que les bibliothèques Java manquent de fonctionnalités intégrées pour cela, elles peuvent être facilement implémentées :

<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>
Copier après la connexion

Utilisation : La méthode fournie isWrapperType prend un objet Class comme argument et renvoie true s'il est un wrapper pour un type primitif, et false sinon.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!