reflection
Get Fields from an Object
In this example we shall show you how to get the fields of a class represented by an object. To get the fields of a class represented by an object one should perform the following steps:
- Get an array containingField objects reflecting all the accessible public fields of the class or interface represented by thisClass object, with
getFields()API method ofClass. - Then get an array ofField objects reflecting all the fields declared by the class or interface represented by this Class object, with
getDeclaredFields()API method ofClass. This includes public, protected, default (package) access, and private fields, but excludes inherited fields,
as described in the code snippet below.
package com.javacodegeeks.snippets.core;import java.lang.reflect.Field;public class GetFieldsFromAnObject {public static void main(String[] args) {Class<?> clazz = java.lang.String.class;Field[] fields;// list with all the accessible public fields of the class or interfacefields = clazz.getFields();for (int i = 0; i < fields.length; i++) {System.out.println("Found public field: " + fields[i]);}System.out.println();// list with all the fields declared by this class or interfacefields = clazz.getDeclaredFields();for (int i = 0; i < fields.length; i++) {System.out.println("Found field: " + fields[i]);}}}Output:
Found public field: public static final java.util.Comparator java.lang.String.CASE_INSENSITIVE_ORDERFound field: private final char[] java.lang.String.valueFound field: private final int java.lang.String.offsetFound field: private final int java.lang.String.countFound field: private int java.lang.String.hashFound field: private static final long java.lang.String.serialVersionUIDFound field: private static final java.io.ObjectStreamField[] java.lang.String.serialPersistentFieldsFound field: public static final java.util.Comparator java.lang.String.CASE_INSENSITIVE_ORDER
This was an example of how to get the fields of a class represented by an object in Java.
Do you want to know how to develop your skillset to become aJava Rockstar?
Subscribe to our newsletter to start Rockingright now!
To get you started we give you our best selling eBooks forFREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to theTerms andPrivacy Policy

Thank you!
We will contact you soon.
Byron Kiourtzoglou
Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor atJava Code Geeks.



