Here you can find the source of findField(Class> clazz, String name)
name
.
Parameter | Description |
---|---|
clazz | the class to introspect |
name | the name of the field (may be <code>null</code> if type is specified) |
null
if not found
public static Field findField(Class<?> clazz, String name)
//package com.java2s; /*/*w ww. j a v a 2s .c o m*/ * Artifactory is a binaries repository manager. * Copyright (C) 2012 JFrog Ltd. * * Artifactory is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Artifactory is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Artifactory. If not, see <http://www.gnu.org/licenses/>. */ import java.lang.reflect.Field; public class Main { /** * Attempt to find a {@link Field field} on the supplied {@link Class} with * the supplied <code>name</code>. Searches all * superclasses up to {@link Object}. * * @param clazz the class to introspect * @param name the name of the field (may be <code>null</code> if type is specified) * @return the corresponding Field object, or <code>null</code> if not found */ public static Field findField(Class<?> clazz, String name) { Class<?> searchType = clazz; while (searchType != null) { Field[] fields = searchType.getDeclaredFields(); for (Field field : fields) { if ((name == null || name.equals(field.getName()))) { return field; } } searchType = searchType.getSuperclass(); } return null; } }