<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FReflection%2FField</id>
		<title>Java Tutorial/Reflection/Field - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FReflection%2FField"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Reflection/Field&amp;action=history"/>
		<updated>2026-04-21T20:14:03Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Reflection/Field&amp;diff=2943&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Reflection/Field&amp;diff=2943&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Reflection/Field&amp;diff=2944&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Reflection/Field&amp;diff=2944&amp;oldid=prev"/>
				<updated>2010-05-31T15:19:18Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Checks whether the specified class contains a field matching the specified name. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// $Id: ReflectionHelper.java 16271 2009-04-07 20:20:12Z hardy.ferentschik $&lt;br /&gt;
/*&lt;br /&gt;
* JBoss, Home of Professional Open Source&lt;br /&gt;
* Copyright 2008, Red Hat Middleware LLC, and individual contributors&lt;br /&gt;
* by the @authors tag. See the copyright.txt in the distribution for a&lt;br /&gt;
* full listing of individual contributors.&lt;br /&gt;
*&lt;br /&gt;
* Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
* you may not use this file except in compliance with the License.&lt;br /&gt;
* You may obtain a copy of the License at&lt;br /&gt;
* http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
* Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
* distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,  &lt;br /&gt;
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
* See the License for the specific language governing permissions and&lt;br /&gt;
* limitations under the License.&lt;br /&gt;
*/&lt;br /&gt;
import java.beans.Introspector;&lt;br /&gt;
import java.lang.annotation.Annotation;&lt;br /&gt;
import java.lang.reflect.AccessibleObject;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Member;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
import java.lang.reflect.ParameterizedType;&lt;br /&gt;
import java.lang.reflect.Type;&lt;br /&gt;
import java.lang.reflect.WildcardType;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
/**&lt;br /&gt;
 * Some reflection utility methods.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Hardy Ferentschik&lt;br /&gt;
 */&lt;br /&gt;
public class ReflectionHelper {&lt;br /&gt;
  /**&lt;br /&gt;
   * Checks whether the specified class contains a field matching the specified name.&lt;br /&gt;
   *&lt;br /&gt;
   * @param clazz The class to check.&lt;br /&gt;
   * @param fieldName The field name.&lt;br /&gt;
   *&lt;br /&gt;
   * @return Returns &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; if the cass contains a field for the specified name, &amp;lt;code&amp;gt;&lt;br /&gt;
   *         false&amp;lt;/code&amp;gt; otherwise.&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean containsField(Class&amp;lt;?&amp;gt; clazz, String fieldName) {&lt;br /&gt;
    try {&lt;br /&gt;
      clazz.getDeclaredField( fieldName );&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
    catch ( NoSuchFieldException e ) {&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get all declared fields from a class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Constructor;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
public class Main{&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Class c = Class.forName(&amp;quot;MyClass&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;\nFields:&amp;quot;);&lt;br /&gt;
    Field fields[] = c.getDeclaredFields();&lt;br /&gt;
    for (Field fld : fields)&lt;br /&gt;
      System.out.println(&amp;quot; &amp;quot; + fld);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyClass {&lt;br /&gt;
  private int count;&lt;br /&gt;
  MyClass(int c) {&lt;br /&gt;
    count = c;&lt;br /&gt;
  }&lt;br /&gt;
  MyClass() {&lt;br /&gt;
    count = 0;&lt;br /&gt;
  }&lt;br /&gt;
  void setCount(int c) {&lt;br /&gt;
    count = c;&lt;br /&gt;
  }&lt;br /&gt;
  int getCount() {&lt;br /&gt;
    return count;&lt;br /&gt;
  }&lt;br /&gt;
  void showcount() {&lt;br /&gt;
    System.out.println(&amp;quot;count is &amp;quot; + count);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get a variable value from the variable name ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Object clazz = new TestClass();&lt;br /&gt;
    String lookingForValue = &amp;quot;firstValue&amp;quot;;&lt;br /&gt;
    Field field = clazz.getClass().getField(lookingForValue);&lt;br /&gt;
    Class clazzType = field.getType();&lt;br /&gt;
    if (clazzType.toString().equals(&amp;quot;double&amp;quot;))&lt;br /&gt;
      System.out.println(field.getDouble(clazz));&lt;br /&gt;
    else if (clazzType.toString().equals(&amp;quot;int&amp;quot;))&lt;br /&gt;
      System.out.println(field.getInt(clazz));&lt;br /&gt;
    &lt;br /&gt;
    //System.out.println(field.get(clazz));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class TestClass {&lt;br /&gt;
  public double firstValue = 3.14;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the name of a primitive type ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    String name = int.class.getName(); // int&lt;br /&gt;
    System.out.println(name);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting and Setting the Value of a Field (assumes that the field has the type int) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Class cls = java.awt.Point.class;&lt;br /&gt;
    Field field = cls.getField(&amp;quot;x&amp;quot;);&lt;br /&gt;
    // Get value&lt;br /&gt;
//    field.getInt(object);&lt;br /&gt;
    // Set value&lt;br /&gt;
  //  field.setInt(object, 123);&lt;br /&gt;
    // Get value of a static field&lt;br /&gt;
    field.getInt(null);&lt;br /&gt;
    // Set value of a static field&lt;br /&gt;
    field.setInt(null, 123);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Field Objects of a Class Object: By obtaining a list of all declared fields. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Class cls = java.awt.Point.class;&lt;br /&gt;
    &lt;br /&gt;
    Field[] fields = cls.getDeclaredFields();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Field Objects of a Class Object: By obtaining a list of all public fields, both declared and inherited. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Class cls = java.awt.Point.class;&lt;br /&gt;
    &lt;br /&gt;
    Field[] fields = cls.getFields();&lt;br /&gt;
    for (int i = 0; i &amp;lt; fields.length; i++) {&lt;br /&gt;
      Class type = fields[i].getType();&lt;br /&gt;
      System.out.println(fields[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Field Objects of a Class Object: By obtaining a particular Field object. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Class cls = java.awt.Point.class;&lt;br /&gt;
    Field field = cls.getField(&amp;quot;x&amp;quot;);&lt;br /&gt;
    System.out.println(field);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Reflect All ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Constructor;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class ReflectApp {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String parm = args[0];&lt;br /&gt;
    Class className = void.class;&lt;br /&gt;
    try {&lt;br /&gt;
      className = Class.forName(parm);&lt;br /&gt;
    } catch (ClassNotFoundException ex) {&lt;br /&gt;
      System.out.println(&amp;quot;Not a class or interface.&amp;quot;);&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
    describeClassOrInterface(className, parm);&lt;br /&gt;
  }&lt;br /&gt;
  static void describeClassOrInterface(Class className, String name) {&lt;br /&gt;
    displayModifiers(className.getModifiers());&lt;br /&gt;
    displayFields(className.getDeclaredFields());&lt;br /&gt;
    displayMethods(className.getDeclaredMethods());&lt;br /&gt;
    if (className.isInterface()) {&lt;br /&gt;
      System.out.println(&amp;quot;Interface: &amp;quot; + name);&lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;Class: &amp;quot; + name);&lt;br /&gt;
      displayInterfaces(className.getInterfaces());&lt;br /&gt;
      displayConstructors(className.getDeclaredConstructors());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  static void displayModifiers(int m) {&lt;br /&gt;
    System.out.println(&amp;quot;Modifiers: &amp;quot; + Modifier.toString(m));&lt;br /&gt;
  }&lt;br /&gt;
  static void displayInterfaces(Class[] interfaces) {&lt;br /&gt;
    if (interfaces.length &amp;gt; 0) {&lt;br /&gt;
      System.out.println(&amp;quot;Interfaces: &amp;quot;);&lt;br /&gt;
      for (int i = 0; i &amp;lt; interfaces.length; ++i)&lt;br /&gt;
        System.out.println(interfaces[i].getName());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  static void displayFields(Field[] fields) {&lt;br /&gt;
    if (fields.length &amp;gt; 0) {&lt;br /&gt;
      System.out.println(&amp;quot;Fields: &amp;quot;);&lt;br /&gt;
      for (int i = 0; i &amp;lt; fields.length; ++i)&lt;br /&gt;
        System.out.println(fields[i].toString());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  static void displayConstructors(Constructor[] constructors) {&lt;br /&gt;
    if (constructors.length &amp;gt; 0) {&lt;br /&gt;
      System.out.println(&amp;quot;Constructors: &amp;quot;);&lt;br /&gt;
      for (int i = 0; i &amp;lt; constructors.length; ++i)&lt;br /&gt;
        System.out.println(constructors[i].toString());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  static void displayMethods(Method[] methods) {&lt;br /&gt;
    if (methods.length &amp;gt; 0) {&lt;br /&gt;
      System.out.println(&amp;quot;Methods: &amp;quot;);&lt;br /&gt;
      for (int i = 0; i &amp;lt; methods.length; ++i)&lt;br /&gt;
        System.out.println(methods[i].toString());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Reflection, Introspection, and Naming ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class RectangleFields {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Class rectClass = null;&lt;br /&gt;
    Field rectField[] = null;&lt;br /&gt;
    try {&lt;br /&gt;
      rectClass = Class.forName(&amp;quot;java.awt.Rectangle&amp;quot;);&lt;br /&gt;
      rectField = rectClass.getDeclaredFields();&lt;br /&gt;
    } catch (SecurityException se) {&lt;br /&gt;
      System.out.println(&amp;quot;Access to Rectangle fields denied&amp;quot;);&lt;br /&gt;
    } catch (ClassNotFoundException cnfe) {&lt;br /&gt;
      System.out.println(&amp;quot;Didn&amp;quot;t find the Rectangle class&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;Fields in Rectangle are:&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; rectField.length; i++) {&lt;br /&gt;
      System.out.println(rectField[i].toString());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving a Predefined Color by Name ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    System.out.println(getColor(&amp;quot;blue&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  public static Color getColor(String colorName) {&lt;br /&gt;
    try {&lt;br /&gt;
      Field field = Class.forName(&amp;quot;java.awt.Color&amp;quot;).getField(colorName);&lt;br /&gt;
      return (Color) field.get(null);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return a list of all fields (whatever access status, and on whatever superclass they were defined) that can be found on this class. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2005 Joe Walker&lt;br /&gt;
 *&lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @author Joe Walker [joe at getahead dot ltd dot uk]&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
  /**&lt;br /&gt;
   * Return a list of all fields (whatever access status, and on whatever&lt;br /&gt;
   * superclass they were defined) that can be found on this class.&lt;br /&gt;
   * This is like a union of {@link Class#getDeclaredFields()} which&lt;br /&gt;
   * ignores and super-classes, and {@link Class#getFields()} which ignored&lt;br /&gt;
   * non-public fields&lt;br /&gt;
   * @param clazz The class to introspect&lt;br /&gt;
   * @return The complete list of fields&lt;br /&gt;
   */&lt;br /&gt;
  public static Field[] getAllFields(Class&amp;lt;?&amp;gt; clazz)&lt;br /&gt;
  {&lt;br /&gt;
      List&amp;lt;Class&amp;lt;?&amp;gt;&amp;gt; classes = getAllSuperclasses(clazz);&lt;br /&gt;
      classes.add(clazz);&lt;br /&gt;
      return getAllFields(classes);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * As {@link #getAllFields(Class)} but acts on a list of {@link Class}s and&lt;br /&gt;
   * uses only {@link Class#getDeclaredFields()}.&lt;br /&gt;
   * @param classes The list of classes to reflect on&lt;br /&gt;
   * @return The complete list of fields&lt;br /&gt;
   */&lt;br /&gt;
  private static Field[] getAllFields(List&amp;lt;Class&amp;lt;?&amp;gt;&amp;gt; classes)&lt;br /&gt;
  {&lt;br /&gt;
      Set&amp;lt;Field&amp;gt; fields = new HashSet&amp;lt;Field&amp;gt;();&lt;br /&gt;
      for (Class&amp;lt;?&amp;gt; clazz : classes)&lt;br /&gt;
      {&lt;br /&gt;
          fields.addAll(Arrays.asList(clazz.getDeclaredFields()));&lt;br /&gt;
      }&lt;br /&gt;
      return fields.toArray(new Field[fields.size()]);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Return a List of super-classes for the given class.&lt;br /&gt;
   * @param clazz the class to look up&lt;br /&gt;
   * @return the List of super-classes in order going up from this one&lt;br /&gt;
   */&lt;br /&gt;
  public static List&amp;lt;Class&amp;lt;?&amp;gt;&amp;gt; getAllSuperclasses(Class&amp;lt;?&amp;gt; clazz)&lt;br /&gt;
  {&lt;br /&gt;
      List&amp;lt;Class&amp;lt;?&amp;gt;&amp;gt; classes = new ArrayList&amp;lt;Class&amp;lt;?&amp;gt;&amp;gt;();&lt;br /&gt;
      Class&amp;lt;?&amp;gt; superclass = clazz.getSuperclass();&lt;br /&gt;
      while (superclass != null)&lt;br /&gt;
      {&lt;br /&gt;
          classes.add(superclass);&lt;br /&gt;
          superclass = superclass.getSuperclass();&lt;br /&gt;
      }&lt;br /&gt;
      return classes;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return Retrurns the Type of the given Field or Method ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// $Id: ReflectionHelper.java 16271 2009-04-07 20:20:12Z hardy.ferentschik $&lt;br /&gt;
/*&lt;br /&gt;
* JBoss, Home of Professional Open Source&lt;br /&gt;
* Copyright 2008, Red Hat Middleware LLC, and individual contributors&lt;br /&gt;
* by the @authors tag. See the copyright.txt in the distribution for a&lt;br /&gt;
* full listing of individual contributors.&lt;br /&gt;
*&lt;br /&gt;
* Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
* you may not use this file except in compliance with the License.&lt;br /&gt;
* You may obtain a copy of the License at&lt;br /&gt;
* http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
* Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
* distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,  &lt;br /&gt;
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
* See the License for the specific language governing permissions and&lt;br /&gt;
* limitations under the License.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.beans.Introspector;&lt;br /&gt;
import java.lang.annotation.Annotation;&lt;br /&gt;
import java.lang.reflect.AccessibleObject;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Member;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
import java.lang.reflect.ParameterizedType;&lt;br /&gt;
import java.lang.reflect.Type;&lt;br /&gt;
import java.lang.reflect.WildcardType;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Some reflection utility methods.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Hardy Ferentschik&lt;br /&gt;
 */&lt;br /&gt;
public class ReflectionHelper {&lt;br /&gt;
  /**&lt;br /&gt;
   * @param member The &amp;lt;code&amp;gt;Member&amp;lt;/code&amp;gt; instance for which to retrieve the type.&lt;br /&gt;
   *&lt;br /&gt;
   * @return Retrurns the &amp;lt;code&amp;gt;Type&amp;lt;/code&amp;gt; of the given &amp;lt;code&amp;gt;Field&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Method&amp;lt;/code&amp;gt;.&lt;br /&gt;
   *&lt;br /&gt;
   * @throws IllegalArgumentException in case &amp;lt;code&amp;gt;member&amp;lt;/code&amp;gt; is not a &amp;lt;code&amp;gt;Field&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Method&amp;lt;/code&amp;gt;.&lt;br /&gt;
   */&lt;br /&gt;
  public static Type typeOf(Member member) {&lt;br /&gt;
    if ( member instanceof Field ) {&lt;br /&gt;
      return ( ( Field ) member ).getGenericType();&lt;br /&gt;
    }&lt;br /&gt;
    if ( member instanceof Method ) {&lt;br /&gt;
      return ( ( Method ) member ).getGenericReturnType();&lt;br /&gt;
    }&lt;br /&gt;
    throw new IllegalArgumentException( &amp;quot;Member &amp;quot; + member + &amp;quot; is neither a field nor a method&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  System class reflection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Constructor;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
public class ReflectionDemo1 {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    try {&lt;br /&gt;
      Class c = Class.forName(&amp;quot;java.awt.Dimension&amp;quot;);&lt;br /&gt;
      System.out.println(&amp;quot;Constructors:&amp;quot;);&lt;br /&gt;
      Constructor constructors[] = c.getConstructors();&lt;br /&gt;
      for (int i = 0; i &amp;lt; constructors.length; i++) {&lt;br /&gt;
        System.out.println(&amp;quot; &amp;quot; + constructors[i]);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println(&amp;quot;Fields:&amp;quot;);&lt;br /&gt;
      Field fields[] = c.getFields();&lt;br /&gt;
      for (int i = 0; i &amp;lt; fields.length; i++) {&lt;br /&gt;
        System.out.println(&amp;quot; &amp;quot; + fields[i]);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println(&amp;quot;Methods:&amp;quot;);&lt;br /&gt;
      Method methods[] = c.getMethods();&lt;br /&gt;
      for (int i = 0; i &amp;lt; methods.length; i++) {&lt;br /&gt;
        System.out.println(&amp;quot; &amp;quot; + methods[i]);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;Exception: &amp;quot; + e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>