    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.lang.reflect.Field

    java.lang.Object
       |
       +----java.lang.reflect.Field

public final class Field
extends Object
implements Member

A Field provides information about, and dynamic access to, a single field of a class or an interface. The reflected field may be a class (static) field or an instance field.

A Field permits widening conversions to occur during a get or set access operation, but throws an IllegalArgumentException if a narrowing conversion would occur.

See Also:
  Member, Class, getFields, getField, getDeclaredFields, getDeclaredField

##

equals(Object)
  Compares this Field against the specified object.
get(Object)
  Returns the value of the field represented by this Field, on the specified object.
getBoolean(Object)
  Get the value of a field as a boolean on specified object.
getByte(Object)
  Get the value of a field as a byte on specified object.
getChar(Object)
  Get the value of a field as a char on specified object.
getDeclaringClass()
  Returns the Class object representing the class or interface that declares the field represented by this Field object.
getDouble(Object)
  Get the value of a field as a double on specified object.
getFloat(Object)
  Get the value of a field as a float on specified object.
getInt(Object)
  Get the value of a field as a int on specified object.
getLong(Object)
  Get the value of a field as a long on specified object.
getModifiers()
  Returns the Java language modifiers for the field represented by this Field object, as an integer.
getName()
  Returns the name of the field represented by this Field object.
getShort(Object)
  Get the value of a field as a short on specified object.
getType()
  Returns a Class object that identifies the declared type for the field represented by this Field object.
hashCode()
  Returns a hashcode for this Field.
set(Object, Object)
  Sets the field represented by this Field object on the specified object argument to the specified new value.
setBoolean(Object, boolean)
  Set the value of a field as a boolean on specified object.
setByte(Object, byte)
  Set the value of a field as a byte on specified object.
setChar(Object, char)
  Set the value of a field as a char on specified object.
setDouble(Object, double)
  Set the value of a field as a double on specified object.
setFloat(Object, float)
  Set the value of a field as a float on specified object.
setInt(Object, int)
  Set the value of a field as an int on specified object.
setLong(Object, long)
  Set the value of a field as a long on specified object.
setShort(Object, short)
  Set the value of a field as a short on specified object.
toString()
  Return a string describing this Field.

##

getDeclaringClass

     public Class getDeclaringClass()

  Returns the Class object representing the class or interface that declares the field represented by this Field object.

getName

     public String getName()

  Returns the name of the field represented by this Field object.

getModifiers

     public native int getModifiers()

  Returns the Java language modifiers for the field represented by this Field object, as an integer. The Modifier class should be used to decode the modifiers.

  See Also:
    Modifier

getType

     public Class getType()

  Returns a Class object that identifies the declared type for the field represented by this Field object.

equals

     public boolean equals(Object obj)

  Compares this Field against the specified object. Returns true if the objects are the same. Two Fields are the same if they were declared by the same class and have the same name and type.

  Overrides:
    equals in class Object

hashCode

     public int hashCode()

  Returns a hashcode for this Field. This is computed as the exclusive-or of the hashcodes for the underlying field's declaring class name and its name.

  Overrides:
    hashCode in class Object

toString

     public String toString()

  Return a string describing this Field. The format is the access modifiers for the field, if any, followed by the field type, followed by a space, followed by the fully-qualified name of the class declaring the field, followed by a period, followed by the name of the field. For example:

          public static final int java.lang.Thread.MIN_PRIORITY
          private int java.io.FileDescriptor.fd

  The modifiers are placed in canonical order as specified by "The Java Language Specification". This is `public`, `protected` or `private` first, and then other modifiers in the following order: `static`, `final`, `transient`, `volatile`.

  Overrides:
    toString in class Object

get

     public native Object get(Object obj) throws IllegalArgumentException, IllegalAccessException

  Returns the value of the field represented by this Field, on the specified object. The value is automatically wrapped in an object if it has a primitive type.

  The underlying field's value is obtained as follows:

  If the underlying field is a static field, the object argument is ignored; it may be null.

  Otherwise, the underlying field is an instance field. If the specified object argument is null, the method throws a NullPointerException. If the specified object is not an instance of the class or interface declaring the underlying field, the method throws an IllegalArgumentException.

  If this Field object enforces Java language access control, and the underlying field is inaccessible, the method throws an IllegalAccessException.

  Otherwise, the value is retrieved from the underlying instance or static field. If the field has a primitive type, the value is wrapped in an object before being returned, otherwise it is returned as is.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field.
  Throws: NullPointerException
    if the specified object is null.

getBoolean

     public native boolean getBoolean(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a boolean on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getByte

     public native byte getByte(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a byte on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getChar

     public native char getChar(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a char on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getShort

     public native short getShort(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a short on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getInt

     public native int getInt(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a int on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getLong

     public native long getLong(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a long on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getFloat

     public native float getFloat(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a float on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

getDouble

     public native double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException

  Get the value of a field as a double on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the field value cannot be converted to the return type by a widening conversion.
  See Also:
    get

set

     public native void set(Object obj,
                            Object value) throws IllegalArgumentException, IllegalAccessException

  Sets the field represented by this Field object on the specified object argument to the specified new value. The new value is automatically unwrapped if the underlying field has a primitive type.

  The operation proceeds as follows:

  If the underlying field is static, the object argument is ignored; it may be null.

  Otherwise the underlying field is an instance field. If the specified object argument is null, the method throws a NullPointerException. If the specified object argument is not an instance of the class or interface declaring the underlying field, the method throws an IllegalArgumentException.

  If this Field object enforces Java language access control, and the underlying field is inaccessible, the method throws an IllegalAccessException.

  If the underlying field is final, the method throws an IllegalAccessException.

  If the underlying field is of a primitive type, an unwrapping conversion is attempted to convert the new value to a value of a primitive type. If this attempt fails, the method throws an IllegalArgumentException.

  If, after possible unwrapping, the new value cannot be converted to the type of the underlying field by an identity or widening conversion, the method throws an IllegalArgumentException.

  The field is set to the possibly unwrapped and widened new value.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  Throws: NullPointerException
    if the specified object is null.

setBoolean

     public native void setBoolean(Object obj,
                                   boolean z) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a boolean on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setByte

     public native void setByte(Object obj,
                                byte b) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a byte on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setChar

     public native void setChar(Object obj,
                                char c) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a char on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setShort

     public native void setShort(Object obj,
                                 short s) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a short on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setInt

     public native void setInt(Object obj,
                               int i) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as an int on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setLong

     public native void setLong(Object obj,
                                long l) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a long on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setFloat

     public native void setFloat(Object obj,
                                 float f) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a float on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

setDouble

     public native void setDouble(Object obj,
                                  double d) throws IllegalArgumentException, IllegalAccessException

  Set the value of a field as a double on specified object.

  Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
  Throws: IllegalArgumentException
    if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
  See Also:
    set

    All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature - Version 1.1.8 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1995-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.