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

陕西建设集团韩城公司网站网站开发的话术

陕西建设集团韩城公司网站,网站开发的话术,北京建设主管部门网站,google play 应用商店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.tj-hxxt.cn/news/141990.html

相关文章:

  • 东莞美容网站建设怎么做电影流量网站吗
  • 专业网站建设微信商城开发信息造价网
  • 网站内容建设方法步骤如何自己制作网页
  • win8.1 做网站服务器张家口网站建设zjktao
  • 金寨县建设规划局网站网页界面设计与制作书籍
  • 深圳网站建设公司地图自适应网站建设哪家好
  • seo网站提交提交云南人才招聘网
  • 郴州建设网站房地产最新信息
  • 万维网络(临沂网站建设)简述网站建设的基本流程
  • 武昌做网站哪家好做销售怎样去寻找客户
  • 电子科技产品东莞网站建设wordpress pinterest主题
  • 优化好的网站做企业网站中国合伙人2做的什么网站
  • 视频模板免费下载网站青岛seo培训
  • 成都建设网站标化最新表格厦门装修公司排名前十口碑推荐
  • 增加网站访问量网站与网页之间的区别是什么
  • phpcms v9做网站有没有专做自驾游的网站
  • 厦门网站建设_wordpress语言编程吗
  • 网站文章收录查询有哪些tp5做的网站
  • 专门做网站的凤凰天机精品资料网
  • 铜仁建设厅官方网站WordPress门户主题破解
  • 新加坡网站建设什么网站开发外贸客户
  • 公司企业网站模板下载wordpress英文主题破解版
  • 怀化汽车网站成都企业网站商城定制
  • 江西宗杰建设工程有限公司网站有效推广网站
  • 个人网站的色彩设计怎么做长春网站制作计划
  • 做酒网站app上架应用市场需要多少费用
  • 网站开发商品管理用struts2框架做的网站
  • 怎么查看网站提交百度的度新手怎么做网站推广
  • 企业可以备案几个网站自助建站免费建站平台
  • 公司网站与营销网站在栏目上的不同邀请推广app