获取对象中字段的get和set方法

import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * wangjian 2014-12-19 下午3:57:13
 */
public class GetAndSetMethod {

    public GetAndSetMethod() {
    }

    public static void main(String[] args) {
        method(new Course());
    }

    public static void method(Object obj) {
        try {
            Class<? extends Object> clazz = obj.getClass();
            Field[] fields = obj.getClass().getDeclaredFields();// 获得属性
            for (Field field : fields) {
                System.out.println(field.getName());
                try {
                    PropertyDescriptor pd = new PropertyDescriptor(field.getName(),
                            clazz);

                    // getMethod
                    Method getMethod = pd.getReadMethod();// 获得get方法
                    if (getMethod != null) {
                        System.out.println("getMethod = " + getMethod.getName());
                        // Object o = getMethod.invoke(obj);//执行get方法返回一个Object
                    }

                    // setMethod
                    Method setMethod = pd.getWriteMethod();
                    if (setMethod != null) {
                        System.out.println("setMethod = " + setMethod.getName());
                    }
                    System.out.println("字段"+field.getName() + ": has get and set method");

                } catch (Exception e) {
                    // 字段没有get或set方法时抛出异常
                    continue;<pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre">		</span>                }</span>

} } catch (Exception e) { e.printStackTrace(); } }}



// 实体类
<pre name="code" class="java">public class Course {

    private long id;

    private String name;

//    public long getId() {
//        return id;
//    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}



时间: 2024-07-31 05:27:54

获取对象中字段的get和set方法的相关文章

JS获取网页中HTML元素的几种方法分析

getElementById getElementsByName getElementsByTagName 大概介绍 getElementById ,getElementsByName ,getElementsByTagName ###adv### 后两个是得到集合,byid只是得到单个对象 getElementById 的用法 举个例子: <a id="link1" name="link1" href=http://homepage.yesky.com>

修改MySQL数据库中表和表中字段的编码方式的方法

今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1,然后再次仔细观察控制台输出的异常,进一步确定是表和表中字段编码不当造成的,那就修改表和其中对应的字段呗,网上找了一会儿,你别说还真有,执行完sql脚本后果然可以存入中文了,尽管如此还是认为有必要总结一下,古人云:好记性不如烂笔头嘛,呵呵呵. 修改表的编码方式:ALTER TABLE `test`

Lua获取表中字段的名称

假设有下面这段代码 local t = { a = 1, b = { x = 1, y = 2} } 我传给你一个table, 想要知道这个table都有哪些字段,但是又不能直接获取,这时可以使用下面这个方法 for k, v in pairs (t) do print(tostring(k), v) end 可以看到, 把k用tostring函数转成字段串形式就OK了 但是我们还可以看到,当table中嵌套table的时候,嵌套的table无法打印出来,对于这种情况,难道就没有办法了吗?当然不

获取表中字段最大值,并且保存在前台页面中

//获取Userid function getUserId(){ $.getJSON('<%=basePath %>user/getUserId.do', function(data){ alert(eval(data).userId); document.getElementById("userId").value=data.userId; }); } <input id="userId" name="userId"  val

javascript获取对象中的属性及值

function displayProp(obj){ var names=""; for(var name in obj){ names+=name+": "+obj[name]+", "; } alert(names); } 多美完美的体验.跟java的反射很像.

获取对象中值的两种方法

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input type="button" name="" id="btn" value="按钮" /> <input type=&

Django获取model中字段的中文列名

from django.db.models.loading import get_model def getmodelfield(appname,modelname): modelobj = get_model(appname,modelname) fielddic={} for field in modelobj._meta.fields: fielddic[field.name] = field.verbose_name return fielddic

php获取post中的json数据的实现方法

最近用到腾讯微博与PHP交互,腾讯把json数据post给PHP(腾讯推送数据时,每条数据是一个json格式的数据包,作为post的数据体(请注意post数据体没有参数,不是key=value形式,整个json包就是post的数据体)),但在PHP里面$_post获取不到,$_REQUEST也获取不到,但是通过firedebug看到的请求信息确实是把JSON数据post给了PHP,这什么情况 突然想到了以前接触过flash将图片二进制流传给php,灵机一动用$GLOBALS['HTTP_RAW_

整理:Javascript获取数组中的最大值和最小值的方法汇总

方法一: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this[i] < min){ min = this[i]; } } return min; } //最大值 Array.protot