Home » Core Java » reflection » Get Fields from an Object

About 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 at Java Code Geeks.

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 containing Field objects reflecting all the accessible public fields of the class or interface represented by this Class object, with getFields() API method of Class.
  • Then get an array of Field objects reflecting all the fields declared by the class or interface represented by this Class object, with getDeclaredFields() API method of Class. 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 interface
		fields = 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 interface
		fields = 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_ORDER

Found field: private final char[] java.lang.String.value
Found field: private final int java.lang.String.offset
Found field: private final int java.lang.String.count
Found field: private int java.lang.String.hash
Found field: private static final long java.lang.String.serialVersionUID
Found field: private static final java.io.ObjectStreamField[] java.lang.String.serialPersistentFields
Found 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.

(No Ratings Yet)
Start the discussion Views Tweet it!

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

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 ....

 

Receive Java & Developer job alerts in your Area

 

Leave a Reply

avatar
  Subscribe  
Notify of