集册 Java实例教程 设置静态字节字段。

设置静态字节字段。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

548
设置静态字节字段。

/*

 * NOTE: This is added by intellij IDE. Disregard this message if there is another copyright later in the file.

 * Copyright (C) 2014-2015  Will (n9Mtq4) Bresnahan

 * This program is free software: you can redistribute it and/or modify

 * it under the terms of the GNU General Public License as published by

 * the Free Software Foundation, either version 3 of the License, or

 * (at your option) any later version

 * This program is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

 * GNU General Public License for more details

 * You should have received a copy of the GNU General Public License

 * along with this program.  If not, see <http://www.gnu.org/licenses/>.

 */
 /** 
 来 自 
 时代Java
 **/

//package com.nowjava;


import java.lang.reflect.Field;


public class Main {

    /**

     * Sets static byte.

     *

     * @param x the x

     * @param field the field

     */

    public static void setStaticByte(byte x, Field field) {

        try {

            field.setAccessible(true);

            field.setByte(null, x);

        } catch (Exception e) {

            e.printStackTrace();

        }

    }


    /**

     * Sets static byte.

     *

     * @param x         the x

     * @param fieldName the field name

     * @param clazz     the class

     */

    public static void setStaticByte(byte x, String fieldName, Class clazz) {

        try {

            Field f = clazz.getDeclaredField(fieldName);

            setStaticByte(x, f);//时 代 J a v a - N o w J a v a . c o m 提 供

        } catch (Exception e) {

            e.printStackTrace();

        }

    }


    /**

     * Sets byte.

     *

     * @param x the x

     * @param field the field

     * @param obj the obj

     */

    public static void setByte(byte x, Field field, Object obj) {

        try {

            field.setAccessible(true);

            field.setByte(obj, x);

        } catch (Exception e) {

            e.printStackTrace();

        }

    }


    /**

     * Sets byte.

     *

     * @param x         the x

     * @param fieldName the field name

     * @param obj       the obj

     * @param clazz     the class

     */

    public static void setByte(byte x, String fieldName, Object obj,

            Class clazz) {

        try {

            Field f = clazz.getDeclaredField(fieldName);

      
展开阅读全文