📄 field.java
字号:
* Get the value of a field as a int on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception IllegalArgumentException if the field value cannot be
* converted to the return type by a widening conversion.
* @see Field#get
*/
public native int getInt(Object obj)
throws IllegalArgumentException, IllegalAccessException;
/**
* Get the value of a field as a long on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception IllegalArgumentException if the field value cannot be
* converted to the return type by a widening conversion.
* @see Field#get
*/
public native long getLong(Object obj)
throws IllegalArgumentException, IllegalAccessException;
/**
* Get the value of a field as a float on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception IllegalArgumentException if the field value cannot be
* converted to the return type by a widening conversion.
* @see Field#get
*/
public native float getFloat(Object obj)
throws IllegalArgumentException, IllegalAccessException;
/**
* Get the value of a field as a double on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception IllegalArgumentException if the field value cannot be
* converted to the return type by a widening conversion.
* @see Field#get
*/
public native double getDouble(Object obj)
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.
*
* <p>The operation proceeds as follows:
*
* <p>If the underlying field is static, the object argument is
* ignored; it may be null.
*
* <p>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.
*
* <p>If this Field object enforces Java language access control, and
* the underlying field is inaccessible, the method throws an
* IllegalAccessException.
*
* <p>If the underlying field is final, the method throws an
* IllegalAccessException.
*
* <p>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.
*
* <p>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.
*
* <p>The field is set to the possibly unwrapped and widened new value.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception IllegalArgumentException if the specified object is not an
* instance of the class or interface declaring the underlying
* field, or if an unwrapping conversion fails.
* @exception NullPointerException if the specified object is null.
*/
public native void set(Object obj, Object value)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a boolean on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setBoolean(Object obj, boolean z)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a byte on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setByte(Object obj, byte b)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a char on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setChar(Object obj, char c)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a short on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setShort(Object obj, short s)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as an int on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setInt(Object obj, int i)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a long on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setLong(Object obj, long l)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a float on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setFloat(Object obj, float f)
throws IllegalArgumentException, IllegalAccessException;
/**
* Set the value of a field as a double on specified object.
*
* @exception IllegalAccessException if the underlying constructor
* is inaccessible.
* @exception 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 Field#set
*/
public native void setDouble(Object obj, double d)
throws IllegalArgumentException, IllegalAccessException;
/*
* Utility routine to paper over array type names
*/
static String getTypeName(Class type) {
if (type.isArray()) {
try {
Class cl = type;
int dimensions = 0;
while (cl.isArray()) {
dimensions++;
cl = cl.getComponentType();
}
StringBuffer sb = new StringBuffer();
sb.append(cl.getName());
for (int i = 0; i < dimensions; i++) {
sb.append("[]");
}
return sb.toString();
} catch (Throwable e) { /*FALLTHRU*/ }
}
return type.getName();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -