
反射
Silence丶你的名字
你的名字
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
classDoc method 转 java 原生 method 保证反射方法顺序性
反射保证方法顺序性原创 2022-05-05 11:35:07 · 484 阅读 · 0 评论 -
通过反射复原完整的src方法名称
/** * 根据方法名,生成完整的方法行 * * @param clazz 字节码 * @param method java.lang.reflect method * @return public static Annotation getAnnotation(Class<?> clazz, ConstPool constPool); */ public static String getSrcMe...原创 2022-04-27 10:01:10 · 145 阅读 · 0 评论 -
通过反射还原实际参数类型
/** * 根据类型提取所有关联参数 */ public static void getAllParameter(Type type, List<Class<?>> list) { Class<?> c1 = TypeUtil.getClass(type); if (type instanceof ParameterizedType) { Type[] ts = ((Pa...原创 2022-04-26 14:25:20 · 207 阅读 · 0 评论 -
通过反射遍历属性,找出基本数据类型,和自定义引用类,以便生成接口文档时使用
/** * 是否为一个用户标准bean,不考虑泛型情况 */ private static boolean isBean(Class<?> clazz) { if (clazz.equals(String.class) || ClassUtil.isBasicType(clazz)) { return false; } if (clazz.isArray() &&...原创 2022-04-26 09:28:21 · 457 阅读 · 0 评论 -
是否为一个用户标准bean,不考虑泛型情况
/** * 是否为一个用户标准bean,不考虑泛型情况 */ private static boolean isBean(Class<?> clazz) { if (clazz.equals(String.class) || ClassUtil.isBasicType(clazz)) { return false; } if (clazz.isArray() && Cl...原创 2022-04-26 00:01:02 · 94 阅读 · 0 评论 -
反射根据类型,提取引用类型clazz
根据反射,提取引用类型,不包含基本数据类型,以及基本数据类型的包装类,及单列集合,和双列集合 /** * 是否为引用数据类型 */ private static boolean isPrimitive(Class<?> clazz) { if (clazz.equals(String.class) || ClassUtil.isBasicType(clazz)) { return false;...原创 2022-04-25 23:18:23 · 345 阅读 · 0 评论 -
根据class判断是否为基本数据类型,或基本数据类型的包装类,或基本类型的数组,不考虑泛型
/** * 判断是否为基本数据类型,或基本数据类型的包装类,不考虑泛型 * string true * int true * Integer true * String[] true * user[] false * List<string> false * list<user> false */ private static boolean isPrimitive...原创 2022-04-25 23:04:12 · 943 阅读 · 0 评论 -
根据参数类型,获取泛型里所有的引用clazz,获取泛型实际参数
根据参数类型,获取泛型里所有的引用clazz原创 2022-04-25 22:40:26 · 568 阅读 · 0 评论 -
根据type类型判断是否为基本数据类型,或基本数据类型的包装类,或泛型为基本数据类型
根据type类型判断是否为基本数据类型,或基本数据类型的包装类,或泛型为基本数据类型 /** * 判断是否为基本数据类型,或基本数据类型的包装类,或泛型为基本数据类型 * string true * int true * Integer true * String[] true * user[] false * List<string> true * list<user> false原创 2022-04-25 22:24:24 · 864 阅读 · 0 评论 -
解决javassist不能重复加载字节码的问题
解决javassist不能重复加载字节码的问题原创 2022-04-21 17:25:36 · 977 阅读 · 0 评论 -
javassist动态给方法添加注解,动态给形参添加注解,动态给类添加注解
javassist动态给方法添加注解,动态给形参添加注解,动态给类添加注解原创 2022-04-21 09:29:43 · 3996 阅读 · 1 评论 -
Javassist给方法添加形参,给方法添加参数
给类添加注解给方法添加注解给注解添加属性将接口转为类给方法添加方法体添加无参构造添加有参构造给接口添加参数原创 2022-04-20 23:19:45 · 1091 阅读 · 0 评论 -
根据字节码获取类的绝对路径
适用于当前模块或引入模块。不适用于第三方jar包 /** * 根据字节码获取类绝对路径 * * @param clazz clazz * @return classRealPath */ private static String getClassRealPath(Class<?> clazz) { String classPath = clazz.getName().replace(".", "/") +原创 2022-04-20 22:14:45 · 179 阅读 · 0 评论 -
javassist将类的类型修改,将接口修改为类
ClassPool classPool = ClassPool.getDefault(); CtClass ctClass = null; try { //通过全类名,获取类 ctClass = classPool.getCtClass("aa.bb.cc.CCCCC"); //获取方法 CtMethod method = ctClass.getDeclaredM...原创 2022-04-20 13:01:53 · 710 阅读 · 0 评论 -
java反射基本使用,反射泛型参数类型获取
java反射基本使用,java反射泛型参数类型获取原创 2021-12-25 13:23:08 · 1881 阅读 · 0 评论 -
通过反射创建私有化构造的类,并为私有化属性复制。调用私有化方法
import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/** * 通过反射创建私有化构造的类,并为私有化属性复制。调用私有化方法 * * @author silence */public class Demo1 { public static void main(String[] args) throws Exception { .原创 2021-04-25 21:28:09 · 247 阅读 · 0 评论 -
通过反射获得私有构造器,创建对象
import java.lang.reflect.Constructor;/** * 通过反射获得私有构造器,创建对象 * * @author silence */public class Demo1 { public static void main(String[] args) throws Exception { //获得字节码文件 Class<User> userClass = User.class; //获得私有化.原创 2021-04-25 21:27:30 · 435 阅读 · 0 评论 -
使用三种方式创建Class字节码类文件对象
/** * 使用三种方式创建Class字节码类文件对象 * * @author silence */public class Demo1 { public static void main(String[] args) throws Exception { Class<?> clazz1 = Class.forName("operate425.operate.operate1.Demo1"); Class<?> clazz2 = De原创 2021-04-25 21:26:45 · 289 阅读 · 0 评论 -
通过反射突破访问修饰符,调用private私有的方法
import operate425.demo.demo1.Student;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * 通过反射突破访问修饰符,调用private私有的方法 * * @author silence */public class ClassMethod { p.原创 2021-04-25 18:06:37 · 331 阅读 · 0 评论 -
通过反射突破private访问修饰符获取私有和公共的属性,设置和获取值
import operate425.demo.demo1.Student;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;/** * 通过反射突破private访问修饰符获取私有和公共的属性,设置和获取值 * * @author silence */public class ClassFile {.原创 2021-04-25 18:05:48 · 287 阅读 · 0 评论 -
通过反射获得类的构造引用无视private修饰符
import operate327.Demo;import operate425.demo.demo1.Student;import java.lang.reflect.Constructor;/** * 通过反射获得类的构造引用无视private修饰符 * * @author silence */public class ClassConstructor { public static void main(String[] args) throws Exception {..原创 2021-04-25 18:04:44 · 170 阅读 · 0 评论