获取类的属性、方法等

获取java类的属性和方法信息 我喜欢直接文本文件做java开发,elipse这些工具,感觉太庞大,还要安装。当然好处是查看包和类资源就比较方便。 没有这些工具,要想快速了解一个类的所有方法,总不能去网上查吧,而且有些版本也是有不同的差别。因此开发一个在线的浏览当前使用的类包含哪些信息,就有必要。 自己利用反射写一个类的资源获取很简单。然后放在运行环境中,再用一个jsp界面展现出来,既快又方便。 package com.worldrisestar.util; import java.util.Properties; impo. 阅读详情
package com.mls.aec.dao;


/**
  * 为了方便搞一些测试,快速填充数据,写的几个简单获取属性或者方法的名字
 * Created by internetroot on 2016-02-23.
 */

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


public class BuildSetList {

    public static void main(String[] args) throws Exception {
        Class clazz = Class.forName("com.mls.aec.entity.Demand");//这里的类名是全名。。有包的话要加上包名
        Object obj = clazz.newInstance();
        Method[] fields = clazz.getMethods();

        System.out.println("-----------------获取所有SET方法-------------------");

        for (Method f : fields) {
            if (f.getName().indexOf("set") != -1) System.out.println("obj." + f.getName() + "();");
        }

        System.out.println("-----------------用于与APP交换时指定格式的信息-------------------");

        Field[] fields2 = clazz.getDeclaredFields();
        for (Field f : fields2) {
            System.out.println("&" + f.getName() + "=" + f.getType().getSimpleName());
        }

        System.out.println("-----------------用于组装MAP,获取所有属性-------------------");

        Field[] fields3 = clazz.getDeclaredFields();
        for (Field f : fields3) {
            String str = f.getName();
            //将属性的首字母大写
            str  = str.substring(0,1).toUpperCase()+str.substring(1);
            System.out.println("map.put(\"" + f.getName() + "\",obj.get" + str + "());");
        }

    }
}


//输出结果DEMO
-----------------获取所有SET方法-------------------
obj.setState();
obj.setShippedType();
obj.setGoodsTemplate();
obj.setNotifyScope();
obj.setDemandVisitsLogs();
obj.setDemandMateLogs();
obj.setDescription();
obj.setSpecifications();
obj.setMember();
obj.setMate();
obj.setShop();
obj.setSn();
obj.setGoodsTemp();
obj.setQuantity();
obj.setEndDate();
obj.setImages();
obj.setBeginDate();
obj.setArea();
obj.setMinPrice();
obj.setMaxPrice();
obj.setEndDates();
obj.setType();
obj.setMemo();
obj.setVisits();
obj.setUnit();
obj.setTypes();
obj.setId();
obj.setModifyBy();
obj.setCreateBy();
obj.setCreateDate();
obj.setModifyDate();
obj.setVersion();
obj.setIsDeleted();
-----------------用于与APP交换时指定格式的信息-------------------
&shop=Shop
&member=Member
&sn=String
&type=Type
&types=String
&state=State
&goodsTemplate=GoodsTemplate
&goodsTemp=String
&specifications=String
&minPrice=BigDecimal
&maxPrice=BigDecimal
&quantity=Integer
&unit=String
&area=Area
&shippedType=ShippedType
&notifyScope=Integer
&beginDate=Date
&endDate=Date
&endDates=String
&memo=String
&visits=Integer
&mate=Integer
&description=String
&images=List
&demandMateLogs=Set
&demandVisitsLogs=Set
-----------------用于组装MAP,获取所有属性-------------------
map.put("shop",obj.getShop());
map.put("member",obj.getMember());
map.put("sn",obj.getSn());
map.put("type",obj.getType());
map.put("types",obj.getTypes());
map.put("state",obj.getState());
map.put("goodsTemplate",obj.getGoodsTemplate());
map.put("goodsTemp",obj.getGoodsTemp());
map.put("specifications",obj.getSpecifications());
map.put("minPrice",obj.getMinPrice());
map.put("maxPrice",obj.getMaxPrice());
map.put("quantity",obj.getQuantity());
map.put("unit",obj.getUnit());
map.put("area",obj.getArea());
map.put("shippedType",obj.getShippedType());
map.put("notifyScope",obj.getNotifyScope());
map.put("beginDate",obj.getBeginDate());
map.put("endDate",obj.getEndDate());
map.put("endDates",obj.getEndDates());
map.put("memo",obj.getMemo());
map.put("visits",obj.getVisits());
map.put("mate",obj.getMate());
map.put("description",obj.getDescription());
map.put("images",obj.getImages());
map.put("demandMateLogs",obj.getDemandMateLogs());
map.put("demandVisitsLogs",obj.getDemandVisitsLogs());
通过反射获取类中的所有属性与方法 获取公共属性 //可以随意用四种类加载方式的任意一种获取类对象 实体类 s=new 实体类(); Class c=s.getClass(); //通过类对象获取单个属性 Field f=c.getFiled("属性名");//f为当前指定类属性的file属性 //给对象属性赋值 f.set(s,"值"); //获取属性值 f.get(s); 获取私有属性 实体类 s=new 实体类(); Class c=s.getClass(); Field f=c.getDeclar 阅读详情

相关推荐

基于深度学习的Person Re-ID(综述)

一. 问题的提出        Person Re-ID 全称是 Person Re-Identification,又称为 行人重检测 or 行人再识别,直观上可以通过两种思路进行比对,一种是 通过 静态图像(still-image)进行特征比对,另一种是通过视频的时序特征(temporal)进行 Video Re-Id。        不管是采用 图像特征比对的方法 还是 结合时序特征比

跟随技术的脚步-linolzhang的专栏 2万+

通过反射获取类的属性与方法【Java】

通过反射来获取属性与方法

qq_56402474的博客 9927

手把手教你用IN-Sight智能相机实现双向TCP/IP通讯(附网络调试助手推荐)

本文详细解析了IN-Sight智能相机实现双向TCP/IP通讯的完整流程。通过将相机同时配置为TCP服务器和客户端,构建了与上位机(如PLC、MES)稳定可靠的数据交换通道。文章深入剖析了发送(TCPDevice)与接收(ReadDevice)通道的独立配置、关键参数设置(如结束符CR+LF)、高效调试工具选择以及实战避坑指南,帮助工程师快速掌握这一构建柔性产线数据节点的核心技术。

qsc9012345的博客 671

获取类的属性

获取类的所有属性

freelooppowter的博客 795

AutoSAR RTE调度机制揭秘:从定时器事件到Runnable执行的完整流程

本文深入解析了AutoSAR RTE(运行时环境)的核心调度机制,详细阐述了从定时器事件触发到Runnable(可运行实体)执行的完整流程。通过剖析Rte_Start()函数、OS任务与警报的交互,以及事件驱动循环,揭示了RTE如何作为幕后指挥家,高效、可靠地协调软件组件间的周期性任务执行,是打通AutoSAR应用开发的关键。

weixin_29169899的博客 226

深入了解BPM及BPM业务流程管理系统

BPM 即业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续地提高组织业务绩效为目的的系统化方法。它涵盖了业务流程的整个生命周期,包括流程的设计、执行、监控、分析和优化。BPM 作为一种先进的管理方法,对于企业提高运营效率、降低成本、提升客户满意度和增强竞争力具有重要意义。BPM 流程管理系统为企业实现 BPM 提供了强大的工具和支持,而 F2BPM 流程管理平台以其先进的技术架构、丰富的功能模块、简单易用的操作界面和强大的定制能力,成为企业实现业务流程管理的理想选择。

Stone3625的博客 2950

Flutter Dart语言(03)面向对象总结

该系列教程主要是为有一定语言基础 C/C++的程序员,快速学习一门新语言所采用的方法,属于在C/C++基础上扩展新语言的模式。

wangdsh的博客 1629

手把手教你用Xilinx Ultrascale+ FPGA解串12-bit ADC的LVDS信号(附Verilog代码)

本文详细介绍了如何使用Xilinx Ultrascale+ FPGA解串12-bit ADC的LVDS信号,涵盖硬件设计、时钟域处理和数据对齐等关键技术。通过Verilog代码实例和调试技巧,帮助工程师解决高速数据采集中的核心挑战,提升系统稳定性和性能。

weixin_42522964的博客 373

Flutter(Dart)基础——类的详解

Dart语法基础——类 Dart 是支持基于 mixin 继承机制的面向对象语言。 所有对象都是一个类的实例,而所有的类都继承自 Object 类。 基于 mixin 的继承意味着每个除 Object 类之外的类都只有一个超类,一个类的代码可以在其它多个类继承中重复使用。 Extension 方法是一种在不更改类或创建子类的情况下向类添加功能的方式。 类的成员的访问 对象的成员由函数和数据(即方法和实例变量)组成。方法的调用要通过对象来完成,这种方式可以访问对象的函数和数据。 使用(.)来访问对象的实

卜大爷的博客 2万+

告别‘火龙’:实测BES2800/RK2108等主流芯片,聊聊AI眼镜的功耗与散热‘内卷’实战

本文深入探讨了AI智能眼镜在功耗与散热方面的挑战,重点分析了恒玄BES2800和瑞芯微RK2108等主控芯片的能效表现。通过实测数据和优化策略,揭示了在6nm工艺、异构计算和系统级散热方案下的实战经验,为AI眼镜的功耗管理提供了实用解决方案。

weixin_30839881的博客 945

STM32F103C8T6 Bootloader开发实战:串口IAP固件升级与Keil工程配置详解

本文详细介绍了STM32F103C8T6 Bootloader开发实战,重点讲解串口IAP固件升级的实现方法与Keil uVision5工程配置。通过Flash分区管理、USART1通信协议设计及应用程序跳转机制等核心技术,帮助开发者掌握嵌入式系统固件升级方案,提升设备维护效率。

weixin_29165725的博客 436

Java 获取类的属性数组 & 获取属性值 & 设置属性值

Java 获取类的属性数组 & 获取属性值 & 设置属性值

Shipley_Leo的博客 4308

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9037

反射获取类的所有方法和属性

反射获取类的所有方法和属性 Java语言中,子类是不能访问父类的私有成员的,包括成员变量和方法,但可以通过Java的反射机制去访问。 其实在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象。所以所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,...

qq_28022397的博客 2530

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

利用java反射机制获取类的所有属性和方法

在运行状态中,对任意一个类都有获取这个类的所有属和方法,对于任意一个对象,都能调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。 下面给大家列出,如何用反射机制获取调用类。 首先,先创建一个包reflex,在包里添加一个类进行获取: package reflex; public class ReflexDemo { ...

白夜光的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

php获取类中的方法,PHP获取类中具有的方法及属性

在php中要获取一个类所具有的属性和方法,可以使用php为我们提供的反射类ReflectionClass;所谓反射类就是利用这个一个类就可以得到其他类中的信息,例如:有多少个方法,方法名称分别是什么,有多少个属性,有哪些是静态的等。使用方法也很简单,值需要传入对应的类名就可以了//实例化反射类$class = new ReflectionClass('Teacher');具体的参数请参考下面的方法...

weixin_35626408的博客 672

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

通过反射来获取某个类中的构造方法,普通方法,属性

反射:反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够用它的任意一个方法和属性,这种动态获取信息以及动态调用对象的方法的功能就是java中的反射机制 要想解剖一个类,必须先要获取到该类的字节码文件对象,而解剖使用的就是Class类中的方法,所以先要获取到每一个字节码文件对应的Class类型的对象 下面就是具体的代码实现...

weixin_44614066的博客 3359

php获取类的属性和方法总结

1. 测试类 <?php class Test { public function __construct() {} public $pub = 'a'; private $pri = 'b'; protected $pro = 'c'; st...

chunliule1098的博客 1549

java 获取类,属性变量,方法,方法参数上注解

一:获取类上注解的值 定义注解@Target(ElementType.TYPE)用于类,接口等 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Orange { String getName(); String getValue(); } 获取 @Orange(getName = “...

weixin_40648117的博客 8759

python获取类的类属性_Python类及获取对象属性方法解析

Python类及获取对象属性方法解析1.类外面添加对象属性class Washer():def wash(self):print('do some laundry stuff')haier1 = Washer()#添加属性,对象名、属性名 = 值haier1.width = 400haier1.height = 500对象属性既可以在类外面添加和获取,也可以在类里面添加和获取在类外面获取对象属性:...

weixin_39992417的博客 2101

获取类中[DisplayName(““)]属性的方法

获取类中[DisplayName("")]属性的方法

pmbdlw的专栏 7494

获取一个类的所有属性、方法的名字

use reflection:---------------------namespace reflect{using System ;using System.Reflection ;public class ClassA{  public static int Main ( string[] kami )  {    Type t = typeof( test ) ;    Console.W

1591

java反射获取类的类名、属性名、属性类型、方法、执行方法、构造函数

Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。 测试代码如下: package com.xxxx.product.business.controller; import java.lang.reflect.Constructor;...

蓝天 1115

python获取类的类属性_如何使用python语言中的方法和属性获取类的属性

在python语言中,跟Java和JavaScript一样,可以定义类,使用的也是class关键字,不过它使用的是冒号,而Java和JavaScript使用的是大括号。下面利用一个实例说明获取类中的属性和方法,操作如下:工具/原料python截图工具方法/步骤1第一步,定义一个类Student,包含了三个属性name、age和sex,如下图所示:2第二步,使用类似JavaScript中的实例化对象...

weixin_39870664的博客 557

java 获取父类的方法_java 获取类和父类的属性和方法

问题在日常开发中,经常需要获取当前类和父类的所有属性,没办法只能查API了。getDeclaredFields VS getFields查阅API得知,class.getDeclaredFields()能获取所有属性(public、protected、default、private),但不包括父类属性,相对的class.getFields() 获取类的属性(public),包括父类;显然以上二者都...

weixin_33196828的博客 5580
上一篇: 根据MySQL表数据导出INSERT INTO语句的方法
下一篇: ....conflicts with existing, non-compatible bean definition of same name and class
internetroot
博客等级 码龄20年 96粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值