public final class

Field

extends AccessibleObject
implements Member
java.lang.Object
   ↳ java.lang.reflect.AccessibleObject
     ↳ java.lang.reflect.Field

Class Overview

This class represents a field. Information about the field can be accessed, and the field's value can be accessed dynamically.

Summary

[Expand]
Inherited Constants
From interface java.lang.reflect.Member
Public Methods
boolean equals(Object object)
Indicates whether or not the specified object is equal to this field.
Object get(Object object)
Returns the value of the field in the specified object.
<A extends Annotation> A getAnnotation(Class<A> annotationType)
Returns, for this element, the annotation with the specified type, or null if no annotation with the specified type is present (including inherited annotations).
boolean getBoolean(Object object)
Returns the value of the field in the specified object as a boolean.
byte getByte(Object object)
Returns the value of the field in the specified object as a byte.
char getChar(Object object)
Returns the value of the field in the specified object as a char.
Annotation[] getDeclaredAnnotations()
Returns, for this element, all annotations that are explicitly declared (not inherited).
Class<?> getDeclaringClass()
Returns the class that declares this field.
double getDouble(Object object)
Returns the value of the field in the specified object as a double.
float getFloat(Object object)
Returns the value of the field in the specified object as a float .
Type getGenericType()
Returns the generic type of this field.
int getInt(Object object)
Returns the value of the field in the specified object as an int.
long getLong(Object object)
Returns the value of the field in the specified object as a long.
int getModifiers()
Returns the modifiers for this field.
String getName()
Returns the name of this field.
short getShort(Object object)
Returns the value of the field in the specified object as a short .
Class<?> getType()
Return the Class associated with the type of this field.
int hashCode()
Returns an integer hash code for this field.
boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
Indicates whether or not this element has an annotation with the specified annotation type (including inherited annotations).
boolean isEnumConstant()
Indicates whether or not this field is an enumeration constant.
boolean isSynthetic()
Indicates whether or not this field is synthetic.
void set(Object object, Object value)
Sets the value of the field in the specified object to the value.
void setBoolean(Object object, boolean value)
Sets the value of the field in the specified object to the boolean value.
void setByte(Object object, byte value)
Sets the value of the field in the specified object to the byte value.
void setChar(Object object, char value)
Sets the value of the field in the specified object to the char value.
void setDouble(Object object, double value)
Sets the value of the field in the specified object to the double value.
void setFloat(Object object, float value)
Sets the value of the field in the specified object to the float value.
void setInt(Object object, int value)
Set the value of the field in the specified object to the int value.
void setLong(Object object, long value)
Sets the value of the field in the specified object to the long value.
void setShort(Object object, short value)
Sets the value of the field in the specified object to the short value.
String toGenericString()
Returns the string representation of this field, including the field's generic type.
String toString()
Returns a string containing a concise, human-readable description of this field.
[Expand]
Inherited Methods
From class java.lang.reflect.AccessibleObject
From class java.lang.Object
From interface java.lang.reflect.AnnotatedElement
From interface java.lang.reflect.Member

Public Methods

public boolean equals (Object object)

Since: API Level 1

Indicates whether or not the specified object is equal to this field. To be equal, the specified object must be an instance of Field with the same declaring class, type and name as this field.

Parameters
object the object to compare
Returns
  • true if the specified object is equal to this method, false otherwise
See Also

public Object get (Object object)

Since: API Level 1

Returns the value of the field in the specified object. This reproduces the effect of object.fieldName

If the type of this field is a primitive type, the field value is automatically boxed.

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value, possibly boxed
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public A getAnnotation (Class<A> annotationType)

Since: API Level 14

Returns, for this element, the annotation with the specified type, or null if no annotation with the specified type is present (including inherited annotations).

Parameters
annotationType the type of the annotation to search for
Returns
  • the annotation with the specified type or null

public boolean getBoolean (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a boolean. This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public byte getByte (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a byte. This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public char getChar (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a char. This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public Annotation[] getDeclaredAnnotations ()

Since: API Level 1

Returns, for this element, all annotations that are explicitly declared (not inherited). If there are no declared annotations present, this method returns a zero length array.

Returns
  • an array of annotations declared for this element

public Class<?> getDeclaringClass ()

Since: API Level 1

Returns the class that declares this field.

Returns
  • the declaring class

public double getDouble (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a double. This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public float getFloat (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a float . This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public Type getGenericType ()

Since: API Level 1

Returns the generic type of this field.

Returns
  • the generic type
Throws
GenericSignatureFormatError if the generic field signature is invalid
TypeNotPresentException if the generic type points to a missing type
MalformedParameterizedTypeException if the generic type points to a type that cannot be instantiated for some reason

public int getInt (Object object)

Since: API Level 1

Returns the value of the field in the specified object as an int. This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public long getLong (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a long. This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public int getModifiers ()

Since: API Level 1

Returns the modifiers for this field. The Modifier class should be used to decode the result.

Returns
  • the modifiers for this field
See Also

public String getName ()

Since: API Level 1

Returns the name of this field.

Returns
  • the name of this field

public short getShort (Object object)

Since: API Level 1

Returns the value of the field in the specified object as a short . This reproduces the effect of object.fieldName

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

Parameters
object the object to access
Returns
  • the field value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public Class<?> getType ()

Since: API Level 1

Return the Class associated with the type of this field.

Returns
  • the type of this field

public int hashCode ()

Since: API Level 1

Returns an integer hash code for this field. Objects which are equal return the same value for this method.

The hash code for a Field is the exclusive-or combination of the hash code of the field's name and the hash code of the name of its declaring class.

Returns
  • the hash code for this field
See Also

public boolean isAnnotationPresent (Class<? extends Annotation> annotationType)

Since: API Level 1

Indicates whether or not this element has an annotation with the specified annotation type (including inherited annotations).

Parameters
annotationType the type of the annotation to search for
Returns
  • true if the annotation exists, false otherwise

public boolean isEnumConstant ()

Since: API Level 1

Indicates whether or not this field is an enumeration constant.

Returns
  • true if this field is an enumeration constant, false otherwise

public boolean isSynthetic ()

Since: API Level 1

Indicates whether or not this field is synthetic.

Returns
  • true if this field is synthetic, false otherwise

public void set (Object object, Object value)

Since: API Level 1

Sets the value of the field in the specified object to the value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the field type is a primitive type, the value is automatically unboxed. If the unboxing fails, an IllegalArgumentException is thrown. If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setBoolean (Object object, boolean value)

Since: API Level 1

Sets the value of the field in the specified object to the boolean value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setByte (Object object, byte value)

Since: API Level 1

Sets the value of the field in the specified object to the byte value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setChar (Object object, char value)

Since: API Level 1

Sets the value of the field in the specified object to the char value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setDouble (Object object, double value)

Since: API Level 1

Sets the value of the field in the specified object to the double value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setFloat (Object object, float value)

Since: API Level 1

Sets the value of the field in the specified object to the float value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setInt (Object object, int value)

Since: API Level 1

Set the value of the field in the specified object to the int value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setLong (Object object, long value)

Since: API Level 1

Sets the value of the field in the specified object to the long value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public void setShort (Object object, short value)

Since: API Level 1

Sets the value of the field in the specified object to the short value. This reproduces the effect of object.fieldName = value

If this field is static, the object argument is ignored. Otherwise, if the object is null, a NullPointerException is thrown. If the object is not an instance of the declaring class of the method, an IllegalArgumentException is thrown.

If this Field object is enforcing access control (see AccessibleObject) and this field is not accessible from the current context, an IllegalAccessException is thrown.

If the value cannot be converted to the field type via a widening conversion, an IllegalArgumentException is thrown.

Parameters
object the object to access
value the new value
Throws
NullPointerException if the object is null and the field is non-static
IllegalArgumentException if the object is not compatible with the declaring class
IllegalAccessException if this field is not accessible

public String toGenericString ()

Since: API Level 1

Returns the string representation of this field, including the field's generic type.

Returns
  • the string representation of this field

public String toString ()

Since: API Level 1

Returns a string containing a concise, human-readable description of this field.

The format of the string is:

  1. modifiers (if any)
  2. type
  3. declaring class name
  4. '.'
  5. field name

For example: public static java.io.InputStream java.lang.System.in

Returns
  • a printable representation for this field