tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Tools and Libs > Commons Lang3 > Reflection > Get Declared Field

Get Declared Field 

Apache Commons Lang 3.0 is a java library with lot of utilities and reusable components. This requires the library commons-lang3-3.0.1.jar to be in classpath. The following example shows using FieldUtils.getDeclaredField() API. It returns the accessible Field by name by considering only the specified class (no super classes).

File Name  :  
com/bethecoder/tutorials/commons_lang/common/Student.java 
   
package com.bethecoder.tutorials.commons_lang.common;

public class Student extends Person {

  private static String DEFAULT_NAME = "Unknown";
  private String name;
  private int age;
  private String hobby;

  public Student() {
  }

  public Student(String name, int age, String hobby) {
    super();
    this.name = name;
    this.age = age;
    this.hobby = hobby;
  }

  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  public String getHobby() {
    return hobby;
  }
  public void setHobby(String hobby) {
    this.hobby = hobby;
  }
  
  public String toString() {
    return "Student[name = " + name + ", age = " + age + ", hobby = " + hobby + "]";
  }
}
   

File Name  :  
com/bethecoder/tutorials/commons_lang/common/Person.java 
   
package com.bethecoder.tutorials.commons_lang.common;

public class Person {

  private double height;
  private double weight;
  
  public double getHeight() {
    return height;
  }
  public void setHeight(double height) {
    this.height = height;
  }
  public double getWeight() {
    return weight;
  }
  public void setWeight(double weight) {
    this.weight = weight;
  }
}
   

File Name  :  
com/bethecoder/tutorials/commons_lang/tests/reflections/GetDeclaredFieldTest.java 
Author  :  Sudhakar KV
Email  :  [email protected]
   
package com.bethecoder.tutorials.commons_lang.tests.reflections;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;

import org.apache.commons.lang3.reflect.FieldUtils;

import com.bethecoder.tutorials.commons_lang.common.Student;

public class GetDeclaredFieldTest {

  /**
   @param args
   */
  public static void main(String[] argsthrows NoSuchMethodException, 
      IllegalAccessException, InvocationTargetException, 
      InstantiationException {

    Field field = FieldUtils.getDeclaredField(Student.class, "name"true);
    System.out.println(field);

    field = FieldUtils.getDeclaredField(Student.class, "age"true);
    System.out.println(field);

    field = FieldUtils.getDeclaredField(Student.class, "height"true);
    System.out.println(field);

  }

}
   

It gives the following output,
private java.lang.String com.bethecoder.tutorials.commons_lang.common.Student.name
private int com.bethecoder.tutorials.commons_lang.common.Student.age
null



 
  


  
bl  br