首页 > Java > java教程 > 正文

Java中如何判断一个对象是否包装了一个基本类型?

Mary-Kate Olsen
发布: 2024-10-31 20:27:29
原创
983 人浏览过

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

确定对象是否为原始对象:使用包装类型检测

在 Java 中,对象可以通过自动装箱来包装原始值。为了区分真正的基元类型和装箱基元,需要一种特定的方法。

使用 Class.isPrimitive() 检查基元类型

Class.isPrimitive()方法不适合此目的。基本类型表示为对其包装类的引用(例如,int 的整数对象)。

替代方法:识别包装类型

解决方案在于确定是否对象的类型是原始类型的包装。虽然 Java 库缺乏这方面的内置功能,但它可以轻松实现:

<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>
登录后复制

用法: 提供的方法 isWrapperType 将 Class 对象作为参数,如果它是,则返回 true是原始类型的包装器,否则为 false。

以上是Java中如何判断一个对象是否包装了一个基本类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板