Java examples for Reflection:Field Get
Get the type of the field.
/******************************************************************************* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * /*from w ww . j a v a 2 s. c om*/ * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. ******************************************************************************/ //package com.java2s; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.util.Collection; public class Main { /** * Get the type of the field. For arrays and collections the type of the array or collection is returned. * * @param field field for which the type is extracted * @return type of the field (also for arrays or collections) */ public static Class<?> getFieldType(Field field) { if (field.getType().isArray() || Collection.class.isAssignableFrom(field.getType())) { return (Class<?>) ((ParameterizedType) field.getGenericType()) .getActualTypeArguments()[0]; } else { return field.getType(); } } }