「java获取对象字段」java 获取对象的类型

博主:adminadmin 2022-12-16 13:12:06 71

今天给各位分享java获取对象字段的知识,其中也会对java 获取对象的类型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 怎么获取一个对象的属性

1、过去某个类的某个属性:

可以通过对象调用其属性:

1)、创建对象 : 类名 对象名 = new 类名();

2)、调用属性: 对象名.属性

2、获取某个对象的所有属性

数组类型[] 数组名 = 对象名.getClass().getDeclaredFields();

java 获取对象的数据类型的方法

使用getClass方法可以获取一个对象的类型类,然后在调用该类的方法可以获取该类的相关信息,比如父类的名字,该类的名字等等:

package test;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

public class Demo2 {

String username = "sss";

public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, NoSuchMethodException {

Demo2 t = new Demo2();

if (Demo2.class == t.getClass()) {

System.out.println("equal");

}

// 获取类名

System.out.println(t.getClass().getName());

// 获取父类名

System.out.println(t.getClass().getSuperclass());

//获取类中某个属性

Field f = t.getClass().getField("username");

//获取类中某个方法

Method m = t.getClass().getDeclaredMethod("main", String[].class);

}

Java如何获得一个对象中所有带set方法的字段(形成Field对象)?包括父类的。有现成的工具类

在Java中 是获取不了对象里面的字段的(除非是一些固定写死的字段) ,但是可以利用反射获取set方法,进行赋值

具体可以参考一下代码

/**

*

* @param obj 赋值对象

* @param value 赋值的值

* @throws Exception

*/

public void setMethod(Object obj ,String value) throws Exception{

if (obj == null ) {

return;

}

Method[] methods = obj.getClass().getMethods();

for (int i = 0; i methods.length; i++) {

Method method = methods[i];

String name = method.getName();

if(name.contains("set")){

method.invoke(obj,value);

}

}

}

java中如何实现private反射获得对象字段值的

背景介绍:在一个Bean类中,需要通过反射机制获得private字段属性时,如果用通常获得步骤获得会报如下错误: java.lang.IllegalAccessException: Class Test can not access a member of class Bean with modifiers "private" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57) at java.lang.reflect.Field.doSecurityCheck(Field.java:811) at java.lang.reflect.Field.getFieldAccessor(Field.java:758) at java.lang.reflect.Field.get(Field.java:228) 解决如下代码实现代码: 1.Bean.class内容如下: public class Bean { private String aa; } 2.Test.class内容如下: public class Test { public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException { Bean test = new Bean(); Field f = Bean.class.getDeclaredField("aa"); //其中,最关键的代码是: //f.setAccessible(true); //这行代码把对象data上的name字段设置为public访问属性. f.setAccessible(true); System.out.println(f.get(test)); f.set(test, "t2"); System.out.println(f.get(test)); } } 运行Test类输出如下: null t2

关于java获取对象字段和java 获取对象的类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-16,除非注明,否则均为首码项目网原创文章,转载请注明出处。