当前位置: 首页 > news >正文

网站建设 聊城wordpress 前端会员中心

网站建设 聊城,wordpress 前端会员中心,庆阳网红,做网站需要人在看吗1、绕过 编译阶段 为集合添加数据 反射是作用在运行时的技术#xff0c;此时集合的泛型将不能产生约束了#xff0c;此时是可以 为集合存入其他任意类型的元素的 。泛型只是在编译阶段可以约束集合只能操作某种数据类型#xff0c;在 编译成Class文件进入 运行阶段 的时候此时集合的泛型将不能产生约束了此时是可以 为集合存入其他任意类型的元素的 。泛型只是在编译阶段可以约束集合只能操作某种数据类型在 编译成Class文件进入 运行阶段 的时候其真实类型都是不带泛型的集合泛型相当于被擦除了。 package com.csdn.d6_reflect_genericity; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; public class ReflectDemo {public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {//需求反射实现泛型擦除后加入其他类型的元素ArrayListString list1 new ArrayList();ArrayListInteger list2 new ArrayList();System.out.println(list1.getClass());//class java.util.ArrayListSystem.out.println(list2.getClass());//class java.util.ArrayListSystem.out.println(list1.getClass() list2.getClass());//trueSystem.out.println();ArrayListInteger list3 new ArrayList();list3.add(23);list3.add(22);Class? extends ArrayList aClass list3.getClass();Method add aClass.getDeclaredMethod(add, Object.class);boolean rs (boolean) add.invoke(list3, 反射);System.out.println(rs);//trueSystem.out.println(list3);//[23, 22, 反射]ArrayList list4 list3;list4.add(注解);list4.add(false);System.out.println(list3);//[23, 22, 反射, 注解, false]} }1.1、反射为何可以给约定了泛型的集合存入其他类型的元素 编译成Class文件进入运行阶段 的时候泛型会自动擦除 。反射是作用在 运行时 的技术此时已经不存在泛型了 。 2、通用框架的底层原理 需求 给定任意一个对象在不清楚对象字段的情况下可以把对象的字段名称和对应值存储到文件中去。 分析 定义一个 方法 可以接收任意类的对象每次收到一个对象后需要解析这个对象的 全部成员变量名称这个对象可能是 任意 的那么怎么样才可以知道这个对象的全部成员变量名称呢使用 反射 获取对象的 Class类对象 然后获取全部成员变量信息遍历成员变量信息然后提取本成员变量在对象中的 具体值存入成员变量名称和值到 文件 中去即可 package com.csdn.d7_reflect_framework; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.lang.reflect.Field; /*** 目标提供一个通用框架支持保存所有对象的具体信息。*/ public class ReflectDemo {public static void main(String[] args) {Student student new Student(反射, 男, 100, JavaSE, 暴力访问);MybatisUtil.save(student);Teacher teacher new Teacher(注解, 女, 10000);MybatisUtil.save(teacher);} }class MybatisUtil {public static void save(Object object) {try {try (PrintStream ps new PrintStream(new FileOutputStream(reflect\\src\\main\\java\\com\\csdn\\d7_reflect_framework\\object.txt,true))) {//1、提取这个对象的全部成员变量只能反射可以解决Class? aClass object.getClass();ps.println( aClass.getSimpleName() );//2、提取它的全部成员变量Field[] fields aClass.getDeclaredFields();//3、获取成员变量的信息for (Field field : fields) {String name field.getName();//提取本成员变量的object对象中的值取值field.setAccessible(true);String value field.get(object) ;ps.println(name value);}}} catch (IllegalAccessException | FileNotFoundException e) {throw new RuntimeException(e);}} }Data AllArgsConstructor NoArgsConstructor class Student {private String name;private char sex;private int age;private String className;private String hobby; }Data AllArgsConstructor NoArgsConstructor class Teacher {private String name;private char sex;private double salary; }3、反射的作用 可以在运行时得到一个 类的 全部成分 然后操作可以 破坏封装性很突出也可以 破坏泛型的约束性很突出更重要的用途是适合做 Java 高级框架
http://www.hkea.cn/news/14403738/

相关文章:

  • 江阴做网站公司门户网站平台建设方案
  • wordpress添加点赞aso优化运营
  • 做网站横幅 的网站推荐几个如何建设网站内容
  • 网站页面下沉的特效代码求做网站
  • 泰州网站制作报价好的网站建设网站
  • 中铁集团网站建设有哪些网站做国外生意的
  • 网站建设用什么教材wordpress 资讯主题
  • 江苏省建设厅网站证件查询孝感网站的建设
  • 网站运营开发托管智能建站与正常的网站
  • 小企业网站建设新市场报价首选大型网站建站公司
  • 网站的兼容性建设部领导干部官方网站
  • 网站建设最新资讯墙翻代理网址
  • wordpress英文站源码seo指搜索引擎
  • 17网站一起做网店的流程如何备份网站 整站
  • 号码网站建设荥阳网页设计
  • 做医院健康专题网站网站开发维护面试
  • 10个值得推荐的免费设计网站wordpress主题带中心
  • 大连网站推广机构网站下载
  • 威海企业做网站哪家好手机一键建站
  • 做网站和做推广的区别互动平台下载
  • 网站开发报价合同范本网页设计欣赏网页设计模板
  • win7网站服务器制作软件免费域名网站
  • 高端网站建设wanghessseo黑帽有哪些技术
  • 建设项目环境影响登记网站天津做衣服的网站推荐
  • 网站做短视频业务许可万网部署wordpress发不出邮件
  • 申请网站怎么申请深圳公司招牌制作
  • 建设网站你认为需要注意手机网站开发常用工具
  • 沛县网站建设深圳保障性住房官网
  • 网站服务对生活的影响网站自己备案
  • 北京各大网站推广服务公司wap网站建设教程