精华内容
下载资源
问答
  • 通过变量获取变量

    千次阅读 2016-04-20 11:31:50
    public static Object getAllComponentsName(Object f, String name) { ... Object obj = null;  // 获取f对象对应类中的所有属性域  Field[] fields = f.getClass().getDeclaredFields();  for (int
     public static Object getAllComponentsName(Object f, String name) {
    
            Object obj = null;
            // 获取f对象对应类中的所有属性域
            Field[] fields = f.getClass().getDeclaredFields();
            for (int i = 0, len = fields.length; i < len; i++) {
                // 对于每个属性,获取属性名
                String varName = fields[i].getName();
                if (varName.equals(name)) {
                    try {
                        // 获取原来的访问控制权限
                        boolean accessFlag = fields[i].isAccessible();
                        // 修改访问控制权限
                        fields[i].setAccessible(true);
                        // 获取在对象f中属性fields[i]对应的对象中的变量
                        obj = fields[i].get(f);
                        System.out.println("传入的对象中包含一个如下的变量:" + varName + " = " + obj);
                        // 恢复访问控制权限
                        fields[i].setAccessible(accessFlag);
                    } catch (IllegalArgumentException ex) {
                        ex.printStackTrace();
                    } catch (IllegalAccessException ex) {
                        ex.printStackTrace();
                    }
                }
            }
            return obj;
        }


        public static void main(String[] args) {
            LocalMobileSiteAction a=new LocalMobileSiteAction();
            getAllComponentsName(a,"largePageSize");
        }
    展开全文
  • Java反射获取成员变量

    千次阅读 2017-05-21 14:32:08
    【通过反射获取成员变量并使用】  获取所有成员 getFields, getDeclaredFields   获取单个成员 getField, getDeclaredField   修改成员的值 set(Object obj,Object value)  将指定对象变量上此 Field ...

    【通过反射获取成员变量并使用】 

    获取所有成员

    getFields, getDeclaredFields

     

    获取单个成员

    getField, getDeclaredField

     

    修改成员的值

    set(Object obj,Object value)
       将指定对象变量上此 Field 对象表示的字段设置为指定的新值。

     

    通过反射获取成员变量并使用

    ①// 获取字节码文件对象

        Class c = Class.forName("cn.iponkan.Person");

    ②// 通过无参构造方法创建对象

    Constructor con = c.getConstructor();

    Object obj = con.newInstance();

    ③// 获取单个的成员变量

    // 获取address并对其赋值

    Field addressField = c.getField("address");

    // public void set(Object obj,Object value)

    // 将指定对象变量上此 Field 对象表示的字段设置为指定的新值。

    addressField.set(obj, "合肥"); // obj对象的addressField字段设置值为"合肥"

    // 获取age并对其赋值

    Field ageField = c.getDeclaredField("age");

    ageField.setAccessible(true);

    ageField.set(obj, 22);

    System.out.println(obj);

    展开全文
  • C++11 变量类型获取typeid

    千次阅读 2021-03-21 02:02:34
    void fun() {} int main() { //获取一个普通变量的类型信息 int n = 100; const type_info& nInfo = typeid(n); cout () | " () | " () ; //获取一个字面量的类型信息 const type_info& dInfo = typeid(25.65); ...
    展开全文
  • 反射获取成员变量

    千次阅读 2019-05-21 20:51:07
    过反射获取成员变量并赋值 代码实现: 学生类: 测试类: 学生类(类中方法暂时不用,只获取成员变量并赋值): public class Student { private String name; int age; public String address; public Student...

    案例需求:
    过反射获取成员变量并赋值

    代码实现:
    学生类:
    测试类:

    学生类(类中方法暂时不用,只获取成员变量并赋值):

    public class Student {
        private String name;
        int age;
        public String address;
    
        public Student() {
        }
    
        private Student(String name) {
            this.name = name;
        }
    
        Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public Student(String name, int age, String address) {
            this.name = name;
            this.age = age;
            this.address = address;
        }
    
        private void function() {
            System.out.println("function");
        }
    
        public void method1() {
            System.out.println("method");
        }
    
        public void method2(String s) {
            System.out.println("method" + s);
        }
    
        public String method3(String s, int i) {
            return s + "," + i;
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", address='" + address + '\'' +
                    '}';
        }
    }
    
    

    测试类:

    public class ReflectDemo01 {
        public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
            //获取Class对象
            Class<?> c = Class.forName("Demo02.Student");
            
              //s.address = "湖南";           address是共有的直接使用getConstructor()           
             Field addressField = c.getField("address");
            Constructor<?> con1 = c.getConstructor();
            Object obj1 = con1.newInstance();
            addressField.set(obj1, "湖南");
            System.out.println(obj1);
    
             //s.age = 18;
            Field ageField = c.getDeclaredField("age");
            Constructor<?> con2 = c.getDeclaredConstructor();
            Object obj2 = con2.newInstance();
            ageField.set(obj2, 18);
            System.out.println(obj2);
            
              //s.name = "黄雅倩";
            Field nameField = c.getDeclaredField("name");
            nameField.setAccessible(true);
            Constructor<?> con3 = c.getDeclaredConstructor();
            Object obj3 = con3.newInstance();
            nameField.set(obj3, "黄雅倩");
            System.out.println(obj3);
        }
    }
    
    

    注:测试类中 address是共有的直接使用getConstructor()
    age和name是私有的,使用getDeclaredConstructor()
    加上 暴力反射: //public void setAccessible(boolean flag):值为true,取消访问检查

    展开全文
  • 如,有一对象urlObject,通过动态变量名称param,获取对应值。 可通过urlObject[`${param}`]方式获取到值。 如下图:
  • JS obj 内部的值简单引用 let a = {a: 1} let aa = {a:11} let b = function ({a}) {console.log(a)} b(a) 1 b(aa) 11
  • /** 获取Object对象,所有成员变量属性值 */ public static void getObjAttr(Object obj) { // 获取对象obj的所有属性域 Field[] fields = obj.getClass().getDeclaredFields(); for (Field field :...
  • java反射获取成员变量

    千次阅读 2018-08-20 16:00:45
    A:获得类的成员变量 数组:  1、getFields(公共类的)  2、getDeclaredFields(所有类型的) B:获得类的单个成员变量:  1、getField (公共类的) ...//获取类的字节码文件对象 Class c = Class.fo...
  • js获取变量数据类型

    千次阅读 2020-05-14 00:00:26
    获取数据类型的4种常用方式: 1.typeof 可以判断js的基本数据类型,无法判断对象的具体类型 如: var num=123, bool = true, str=“john”, undef=undefined, nu = null; var obj=new Object(); var reg = new
  • 将.的方式改成数组的方式即可。 // 第一种方法的money不可以是变量,第二种方法则可以 obj.money obj[money]
  • import java.lang.reflect.Constructor;... * 通过反射获取成员变量 * Class.getField(String) 方法可以获取类中的指定字段(可见的) * 如果私有的可以用getDeclaedField("name")方...
  • 反射获取变量:ReflectTool.getSubField(, , ); // 通过反射,获取View的在res/Layout布局中声明的onClick属性名称 // <Button android:id="@+id/button1" android:onClick="OpenLog" /> Button view = ...
  • Java获取成员变量构造函数信息

    千次阅读 2019-02-28 23:33:41
    getFields()方法获取的是所有public的成员变量的信息; getDeclaredFields获取的是该类自己声明的成员的信息。 成员变量也是类! java.lang.reflect.Field类封装了关于成员变量的操作; getFiel...
  • python获取对象成员函数与变量

    千次阅读 2020-05-14 19:47:56
    python在编程中总是不清楚对象的成员方法,通过一些内置函数可以在运行环境中得到成员函数和成员变量。当然也可以应用inspect库函数查看。 class A(object): def __init__(self, x): self.x = x obj = A() print...
  • 获取变量方法 1.Field[] getFields() 返回所有公共成员变量对象的数组 剩下的与前面获取方法的方法类似 2.赋值 void set(Object obj,Object value) 给obj对象的成员变量赋值为Value, 实例 //获取Class对象 ...
  • 项目中通过iframe内嵌了一个子页面,子页面定义了一些全局变量,父页面需要获取子页面的全局变量,做了一些测试(我的环境IE10和Firefox32.0.3),得出如下结论:  IE下: window.frames['iPage'].变量名  ...
  • 获取对象所有属性function showField(obj){ var names=""; for(var name in obj){ names+=name+": "+obj[name]+", "; } alert(names); } 显示变量类型alert(typeof obj) alert(ty
  • [Python]获取类的成员变量及临时变量

    千次阅读 2017-08-09 09:26:37
    利用Python反射机制,从代码块中静态获取参数: co_argcount: 普通参数的总数,不包括参数和*参数。 co_names: 所有的参数名(包括参数和*参数)和局部变量名的元组。 co_varnames: 所有的局部变量名的元组。 co...
  • 通过反射获取成员变量并使用

    千次阅读 2016-05-09 19:12:50
    通过反射获取成员变量并使用
  • 需要注意 aClass.fields 无法获取 kotlin 创建的成员 class TestUtil { fun reflex (obj: Any) { val aClass = obj. javaClass // aClass.fields 无法获取 kotlin 创建的成员 val declaredFields = a...
  • 获取Class对象的三种方法 使用 Class 类的 forName 静态方法; 直接获取某一个对象的 class; 调用某个对象的 getClass() 方法 public class ClassTest { public static void main(String[] args) throws ...
  • tp5中获取参数。tp5中未定义变量

    万次阅读 2017-06-23 17:04:36
    1)在tp5中接参数用 input() 2)报未定义变量,tp5比较严谨,最好加上isset()。比如 foreach ($post as $val) { if(isset($val['tags'])) { $tmp['tags'] = $val['tags']; } }
  • package my; import java.lang.reflect.InvocationTargetException; import java.lang.reflect....//set(String methodname,String value)为大量String(可根据实际情况修改)类型的变量赋值, //get(String m...
  • 对象[变量] 比如obj是一个对象,它... //获取属性值 obj[x] = "XXX"; //设置属性值 补充说明:对象属性的使用有两种方式: obj.name 或 obj["name"] 第二种方式的属性名是个字符串,这就为变量的使用制造了可能性。 ...
  • Java反射获取类的私有变量

    千次阅读 2018-02-24 09:33:50
    从设计的原则来说,类的成员变量如果设计成private,那么我们就不能在类外部去获取到此private变量的值。通常的做法是提供此private变量的get 和set方法。但是如果这个类没有提供get和set方法,我们如何去获取到这个...
  • 1、下面的代码就是怎样获取私有变量(记得加头文件#import ): NSObject *str; Mobj *obj = [[Mobj alloc] init]; object_getInstanceVariable(obj, "mt_", (void *)&str); NSLog(@"%@",str); [obj ...
  • 前言 有时候,我们对象的属性 x 是一个变量,这时 obj.x 是无效的,但可通过如下方式 . 到。 实现 // Object const obj = { name: 'u-H5' } var x = 'name' console.log(obj[x])//u-H5
  • 反射:通过反射获取成员变量并使用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,980
精华内容 84,792
关键字:

obj进行变量获取