首页  >  文章  >  Java  >  如何确定数组中的对象是否是基元的包装类型?

如何确定数组中的对象是否是基元的包装类型?

Linda Hamilton
Linda Hamilton原创
2024-11-01 10:36:30746浏览

How to Determine if an Object in an Array is a Wrapper Type for a Primitive?

如何识别对象数组中的原始类型

在 Java 中,使用 Class.isPrimitive() 确定对象是否为原始类型可能会产生误导。这是因为数组中的对象是对实际值的引用。

为了准确确定一个对象是否是原始对象,我们需要检查它的类型是否是原始类型的包装。 JDK 没有为此提供内置方法,但我们可以创建一个自定义方法:

<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() 创建一组原始包装类型并检查是否给定的类与它们中的任何一个匹配。这种方法可确保准确识别 Object[] 数组中的基本类型。

以上是如何确定数组中的对象是否是基元的包装类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn