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