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

衡阳的房地产网站建设app推广软文范文

衡阳的房地产网站建设,app推广软文范文,公司起名字大全免费三字,网站建设与运营财务报表1.官方API对这两个方法的介绍 getSuperclass : 返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。如果此 Class 表示 Object 类、一个接口、一个基本类型或 void,则返回 null。如果此对象表示一个数组类&#xff…

1.官方API对这两个方法的介绍 

getSuperclass :
返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。如果此 Class 表示 Object 类、一个接口、一个基本类型或 void,则返回 null。如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象。
getGenericSuperclass :
返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的Type。如果超类是参数化类型,则返回的 Type 对象必须准确反映源代码中所使用的实际类型参数。如果以前未曾创建表示超类的参数化类型,则创建这个类型。有关参数化类型创建过程的语义,请参阅 ParameterizedType 声明。如果此 Class 表示 Object 类、接口、基本类型或 void,则返回 null。如果此对象表示一个数组类,则返回表示 Object 类的 Class 对象。

2.二者异同点

两个方法都是获取超类的类型,看一个例子:

打印结果 :

 

这两者都能获取父类的类型,但是如果我们换成下面形式,我们就可以找到两个方法差别。

 

上面的方法, 我们使用 ”getGenericSuperclass()” 方法获取父类的类型, 然后重新读一遍该方法的说明 “如果超类是参数化类型,则返回的 Type 对象必须准确反映源代码中所使用的实际类型参数 ”。 也就是这种方式可以获取超类的参数类型, 也就是泛型中的”Integer”类型。
但是如果上面方法我们使用 ”getSuperclass()“ 方法就会出现类型转换错误 ”java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType”。

再举一个例子
父类:

package com.itheima.mytest;public class Person<T1, T2> {}

子类:

package com.itheima.mytest;import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;public class Student extends Person<Integer, String> {@SuppressWarnings("rawtypes")public static void main(String[] args) {Student student = new Student();// getClass() 获得该类的类类型(即类型变量)Class clazz = student.getClass();// getSuperclass() 获得该类的父类System.out.println(clazz.getSuperclass());// getGenericSuperclass() 获得该类带有泛型的父类Type type = clazz.getGenericSuperclass();System.out.println(type);// Type是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。// ParameterizedType 参数化类型,即泛型// 将Type转化为参数化类型(即泛型)ParameterizedType p = (ParameterizedType) type;// getActualTypeArguments() 获取参数化类型的数组,泛型可能有多个Type[] actualTypeArguments = p.getActualTypeArguments();// 将Type转化为类型变量(即Class)Class c1 = (Class) actualTypeArguments[0];Class c2 = (Class) actualTypeArguments[1];System.out.println(c1);System.out.println(c2);}
}

 运行结果

class com.itheima.mytest.Person
com.itheima.mytest.Person<java.lang.Integer, java.lang.String>
class java.lang.Integer
class java.lang.String

3. 实际应用

记得以前使用hibernate时候, 我们会为所有Dao创建一个BaseDao, 将一般的增删改查操作抽取到BaseDao中。
下面就是一个例子 : 

我们将增删改查一般操作放在BaseDao中, 但是在”查”过程中, 遇到问题。当使用Hibernate拼写HQL时候, 查一张表需要知道这张表对应的对象的名称 . 比如”t_user”对应”User” . 那么在HQL中需要使用”User”。

在上面构造方法中,父类BaseDao中获取子类操作类型对象 (UserDao操作User, DepartmentDao操作Department),利用泛型然后使用反射里的 ”getGenericSuperclass” 方法, 就可以获取到对应的类型 ,进而获取对应的className 。

http://www.yayakq.cn/news/944520/

相关文章:

  • 肥城 网站建设seo排名赚挂机赚钱软件下载
  • 网站设计汕头海南做网站找谁
  • 网站建设环境阳谷网站建设
  • 仿站小工具下载建设网站要服务器
  • 温州网站设计公司哪家好免费视频素材
  • 网站搭建 成都郑州seo服务
  • 微信网站可以免费做么免费源码大全
  • 北控京奥建设有限公司网站网页建站怎么设置
  • 什么是销售型网站深圳做企业网站的公
  • 企业官方网站如何做蓝v认证公司网站建设合同 华律网
  • 可以自己做网站优化吗出口电商网站建设程序
  • 微信公司网站自己做装修效果图app软件
  • 手机版网站开发工具上海环球金融中心造价
  • 浙江省城乡与住房建设部网站wordpress去除幻灯片
  • 违法人员都是怎么建设网站的网站域名解绑
  • 网站开发设计思想广州建设银行官方网站
  • 广州我网站制作wordpress 请选择一个文件夹
  • 滁州网站开发公司什么样是权网站重高的
  • 做网站的流程百科一般人公司注册费用
  • 做网站需要下载啥黄埔移动网站建设
  • iis 建立子网站如何用jeecg建设网站
  • 舟山网站建设费用婚纱摄影网站
  • 外贸建站wordpress庆阳网警
  • 制作app网站做社区生意的网站
  • 营口网站建设哪家好新乡营销网站建设
  • 门源县wap网站建设公司wordpress 3d标签云 插件
  • 平顶山建设银行网站五合一免费建站
  • 汽车美容网站模板成都科技网站建设费用
  • dede 电商网站模板下载自己做网站好还是购买网站好
  • 网站做推荐链接端口网站布局 下载