reflection

Get Fields from an Object

Photo of Byron KiourtzoglouByron KiourtzoglouNovember 11th, 2012Last Updated: August 20th, 2013
0 250 1 minute read

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, withgetFields() API method ofClass.
  • Then get an array ofField objects reflecting all the fields declared by the class or interface represented by this Class object, withgetDeclaredFields() 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.

Photo of Byron KiourtzoglouByron KiourtzoglouNovember 11th, 2012Last Updated: August 20th, 2013
0 250 1 minute read
Photo of Byron Kiourtzoglou

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.

Related Articles

Bipartite Graph

Get package name

November 11th, 2012
Bipartite Graph

Get super class of an object

November 11th, 2012
Bipartite Graph

Get Methods from an Object

November 11th, 2012
Bipartite Graph

Java Reflection Example

January 7th, 2014
Bipartite Graph

Get methods return type

November 11th, 2012
Bipartite Graph

Create Proxy object

November 11th, 2012
Subscribe
Notify of
guest
I agree to theTerms andPrivacy Policy
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.

I agree to theTerms andPrivacy Policy
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.