时间:2021-05-19
反射
反射:将类的属性和方法映射成相应的类。
反射基本使用
获取Class类的三种方法:
根据API写就行了,大致流程就是:
用方法的参数类型唯一标识一个方法,依据:方法的重载
数组的反射
下面这个例子主要说明几点:
输出:
trueclass [Iclass [[Itrueclass java.lang.Object[[I@1540e19d][abc]乱入: hashcode与内存泄露问题 参考java api:
如果参与hascode计算的成员变量中途发生变化,则后面remove时失败,造成内存泄露
配置文件加载
类加载器加载只读配置文件
类名.class.getClassLoader().getResourceAsStream(str);
类名.class.getResourceAsStream(str),实质还是调用类加载器。 源码截取(java.lang包下的Class.java):
关于路径str,写法有点讲究。
以前编译java代码时,有些conf/文件夹还要添加进依赖或者标记成source文件夹,里面明明都是xml文件,没Java源码。从这里,我现在知道了,是使用反射加载配置文件的缘故
内省(Instropector) & JavaBean
JavaBean读取属性x的值的流程:变大写、补前缀、获取方法。
"x"-->"X"-->"getX"-->"MethodGetX"
自己用内省操作
我目前没用上,所以不贴代码了,只附上核心类
简单实现: 使用java.beans.PropertyDescriptor类
麻烦实现: 使用java.beans.Introspector类,遍历getBeanInfo方法的返回值
JavaBean必须有一个不带参数的构造函数
使用BeanUtils工具包
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java基础之反射原理与用法。分享给大家供大家参考,具体如下:1.什么是反射?反射其实就是动态的加载类,我们在写JDBC的时候加载驱动Class.
本文实例讲述了PHP进阶学习之反射基本概念与用法。分享给大家供大家参考,具体如下:一、前言Reflection(反射)是Java程序开发语言的特征之一,它允许运
在上篇文章给大家介绍了Spring学习笔记1之IOC详解尽量使用注解以及java代码,接下来本文重点给大家介绍Spring学习笔记2之表单数据验证、文件上传实例
本文接上文“java反射之方法反射的基本操作方法”,利用反射了解下java集合中泛型的本质1、初始化两个集合,一个使用泛型,一个不使用ArrayListlist
推荐阅读:JavaScript学习笔记之数组的增、删、改、查JavaScript学习笔记之数组求和方法JavaScript学习笔记之数组随机排序话说面试常会碰到