オブジェクト配列内のプリミティブ型を識別する方法
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 サイトの他の関連記事を参照してください。