field.java

来自「JAVA基本类源代码,大家可以学习学习!」· Java 代码 · 共 843 行 · 第 1/3 页

JAVA
843
字号
        return getFieldAccessor(obj).getByte(obj);    }    /**     * Gets the value of a static or instance field of type     * <code>char</code> or of another primitive type convertible to     * type <code>char</code> via a widening conversion.     *     * @param obj the object to extract the <code>char</code> value     * from     * @return the value of the field converted to type <code>char</code>     *     * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not      *              an instance of the class or interface declaring the     *              underlying field (or a subclass or implementor      *              thereof), or if the field value cannot be     *              converted to the type <code>char</code> by a      *              widening conversion.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see Field#get     */    public char getChar(Object obj)	throws IllegalArgumentException, IllegalAccessException    {        return getFieldAccessor(obj).getChar(obj);    }    /**     * Gets the value of a static or instance field of type     * <code>short</code> or of another primitive type convertible to     * type <code>short</code> via a widening conversion.     *     * @param obj the object to extract the <code>short</code> value     * from     * @return the value of the field converted to type <code>short</code>     *     * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not      *              an instance of the class or interface declaring the     *              underlying field (or a subclass or implementor      *              thereof), or if the field value cannot be     *              converted to the type <code>short</code> by a      *              widening conversion.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see       Field#get     */    public short getShort(Object obj)	throws IllegalArgumentException, IllegalAccessException    {        return getFieldAccessor(obj).getShort(obj);    }    /**     * Gets the value of a static or instance field of type     * <code>int</code> or of another primitive type convertible to     * type <code>int</code> via a widening conversion.     *     * @param obj the object to extract the <code>int</code> value     * from     * @return the value of the field converted to type <code>int</code>     *     * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not      *              an instance of the class or interface declaring the     *              underlying field (or a subclass or implementor      *              thereof), or if the field value cannot be     *              converted to the type <code>int</code> by a      *              widening conversion.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see       Field#get     */    public int getInt(Object obj)	throws IllegalArgumentException, IllegalAccessException    {        return getFieldAccessor(obj).getInt(obj);    }    /**     * Gets the value of a static or instance field of type     * <code>long</code> or of another primitive type convertible to     * type <code>long</code> via a widening conversion.     *     * @param obj the object to extract the <code>long</code> value     * from     * @return the value of the field converted to type <code>long</code>     *     * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not      *              an instance of the class or interface declaring the     *              underlying field (or a subclass or implementor      *              thereof), or if the field value cannot be     *              converted to the type <code>long</code> by a      *              widening conversion.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see       Field#get     */    public long getLong(Object obj)	throws IllegalArgumentException, IllegalAccessException    {        return getFieldAccessor(obj).getLong(obj);    }    /**     * Gets the value of a static or instance field of type     * <code>float</code> or of another primitive type convertible to     * type <code>float</code> via a widening conversion.     *     * @param obj the object to extract the <code>float</code> value     * from     * @return the value of the field converted to type <code>float</code>     *     * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not      *              an instance of the class or interface declaring the     *              underlying field (or a subclass or implementor      *              thereof), or if the field value cannot be     *              converted to the type <code>float</code> by a      *              widening conversion.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see Field#get     */    public float getFloat(Object obj)	throws IllegalArgumentException, IllegalAccessException    {        return getFieldAccessor(obj).getFloat(obj);    }    /**     * Gets the value of a static or instance field of type     * <code>double</code> or of another primitive type convertible to     * type <code>double</code> via a widening conversion.     *     * @param obj the object to extract the <code>double</code> value     * from     * @return the value of the field converted to type <code>double</code>     *     * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not      *              an instance of the class or interface declaring the     *              underlying field (or a subclass or implementor      *              thereof), or if the field value cannot be     *              converted to the type <code>double</code> by a      *              widening conversion.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see       Field#get     */    public double getDouble(Object obj)	throws IllegalArgumentException, IllegalAccessException    {        return getFieldAccessor(obj).getDouble(obj);    }    /**     * Sets the field represented by this <code>Field</code> 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 <code>obj</code> 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     * <code>NullPointerException</code>.  If the specified object argument is not     * an instance of the class or interface declaring the underlying     * field, the method throws an <code>IllegalArgumentException</code>.     *     * <p>If this <code>Field</code> object enforces Java language access control, and     * the underlying field is inaccessible, the method throws an     * <code>IllegalAccessException</code>.     *     * <p>If the underlying field is final, the method throws an     * <code>IllegalAccessException</code>.     *     * <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     * <code>IllegalArgumentException</code>.     *     * <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     * <code>IllegalArgumentException</code>.     *     * <p>If the underlying field is static, the class that declared the     * field is initialized if it has not already been initialized.     *     * <p>The field is set to the possibly unwrapped and widened new value.     *     * <p>If the field is hidden in the type of <code>obj</code>,     * the field's value is set according to the preceding rules.     *     * @param obj the object whose field should be modified     * @param value the new value for the field of <code>obj</code>     * being modified     *      * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not an     *              instance of the class or interface declaring the underlying     *              field (or a subclass or implementor thereof),      *              or if an unwrapping conversion fails.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     */    public void set(Object obj, Object value)	throws IllegalArgumentException, IllegalAccessException    {        getFieldAccessor(obj).set(obj, value);    }    /**     * Sets the value of a field as a <code>boolean</code> on the specified object.     * This method is equivalent to     * <code>set(obj, zObj)</code>,     * where <code>zObj</code> is a <code>Boolean</code> object and      * <code>zObj.booleanValue() == z</code>.     *     * @param obj the object whose field should be modified     * @param z   the new value for the field of <code>obj</code>     * being modified     *      * @exception IllegalAccessException    if the underlying field     *              is inaccessible.     * @exception IllegalArgumentException  if the specified object is not an     *              instance of the class or interface declaring the underlying     *              field (or a subclass or implementor thereof),      *              or if an unwrapping conversion fails.     * @exception NullPointerException      if the specified object is null     *              and the field is an instance field.     * @exception ExceptionInInitializerError if the initialization provoked     *              by this method fails.     * @see       Field#set     */    public void setBoolean(Object obj, boolean z)	throws IllegalArgumentException, IllegalAccessException    {        getFieldAccessor(obj).setBoolean(obj, z);    }    /**     * Sets the value of a field as a <code>byte</code> on the specified object.     * This method is equivalent to     * <code>set(obj, bObj)</code>,     * where <code>bObj</code> is a <code>Byte</code> object and      * <code>bObj.byteValue() == b</code>.     *     * @param obj the object whose field should be modified     * @param b   the new value for the field of <code>obj</code>     * being modified     *      * @exception IllegalAccessException    if the underlying field

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?