Java Reflection Generic Type from Field getGenericTypes(Field field)

Here you can find the source of getGenericTypes(Field field)

Description

get Generic Types

License

Apache License

Declaration

public static Type[] getGenericTypes(Field field) 

Method Source Code

//package com.java2s;
/**//w  ww  . j  av  a 2s . co  m
 * 
 *Copyright 2014 The Darks Codec Project (Liu lihua)
 *
 *Licensed 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
 *
 *    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.
 */

import java.lang.reflect.Field;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class Main {
    public static Type[] getGenericTypes(Field field) {
        Type type = field.getGenericType();
        if (type == null) {
            return null;
        }
        if (type instanceof ParameterizedType) {
            ParameterizedType tc = (ParameterizedType) type;
            return tc.getActualTypeArguments();
        }
        return null;
    }
}

Related

  1. getGenericType(Type type, Type fieldType)
  2. getGenericTypeArguments(final Field field)
  3. getGenericTypeOfCollectionField(Field field)
  4. getGenericTypes(Field field)
  5. getGenericTypes(Field field)
  6. getGenericTypes(Field field)
  7. getGenericTypes(Field field)