Here you can find the source of findField(Class> clazz, String name)
public static Field findField(Class<?> clazz, String name)
//package com.java2s; //License from project: Open Source License import java.lang.reflect.Field; public class Main { public static Field findField(Class<?> clazz, String name) { return findField(clazz, name, null); }//from ww w . j av a2 s .c o m public static Field findField(Class<?> clazz, String name, Class<?> type) { if (clazz == null) { throw new IllegalArgumentException("Class must not be null"); } if (name == null && type == null) { throw new IllegalArgumentException("Either name or type of the field must be specified"); } Class<?> searchType = clazz; while (!Object.class.equals(searchType) && searchType != null) { Field[] fields = searchType.getDeclaredFields(); for (Field field : fields) { if ((name == null || name.equals(field.getName())) && (type == null || type.equals(field.getType()))) { return field; } } searchType = searchType.getSuperclass(); } return null; } }