ホームページ  >  記事  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。