parameterizedtypeimpl_getparameter和getattribute的区别

parameterizedtypeimpl_getparameter和getattribute的区别publicinterfaceParameterizedTypeextendsTypeSubParam.Javapackagecom.github.retrofit2;/***Createdby刘春龙on2017/5/5.*/publicclassSubParamextendsParam{classMyClass{}classMyInvoke{}publicst…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

public interface ParameterizedType  extends Type

SubParam.Javapackage com.github.retrofit2;

/**

* Created by 刘春龙 on 2017/5/5.

*/

public class SubParam extends Param{

class MyClass{}

class MyInvoke{}

public static void main(String[] args) {

SubParam subParam = new SubParam();

}

}

Param.javapackage com.github.retrofit2;

import java.lang.reflect.ParameterizedType;

import java.lang.reflect.Type;

/**

* Created by 刘春龙 on 2017/5/5.

*/

public class Param{

private ClassentityClass;

class A {}

class B extends A {}

protected Param() {

Class clazz = this.getClass();

String typeName = clazz.getTypeName();

System.out.println(“[clazz] = ” + clazz);//[clazz] = class com.github.retrofit2.SubParam

System.out.println(“[type name] = ” + typeName);//[type name] = com.github.retrofit2.SubParam

Type type = clazz.getGenericSuperclass();

System.out.println(“[type] = ” + type);//[type] = com.github.retrofit2.ParamType actualType = ((ParameterizedType)type).getActualTypeArguments()[0];

System.out.println(“[actualType 1] = ” + actualType);//[actualType 1] = class com.github.retrofit2.SubParam$MyClass

actualType = ((ParameterizedType)type).getActualTypeArguments()[1];

System.out.println(“[actualType 2] = ” + actualType);//[actualType 2] = class com.github.retrofit2.SubParam$MyInvoke

this.entityClass = (Class)actualType;

B t = new B();

type = t.getClass().getGenericSuperclass();

System.out.println(“A is B’s super class :” + ((ParameterizedType)type).getActualTypeArguments().length);

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218952.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux中whereis命令的用法,Linux中的Whereis命令,教你如何使用whereis命令及注意事项…

    linux中whereis命令的用法,Linux中的Whereis命令,教你如何使用whereis命令及注意事项…本文教你使用 Linux 操作系统中的 Whereis 命令 包括注意事项 whereis 是一个命令行实用程序 允许你查找给定命令的二进制文件 源文件和手动页面文件的位置 如何使用 whereis 命令及注意事项 whereis 命令的语法如下 whereis OPTIONS FILE NAME 在没有任何选项的情况下使用时 搜索指定为参数的命令的二进制文件 源文件和手动文件 默认情况下 whereis 在

    2025年7月29日
    8
  • 数字通信系统的模型 框图「建议收藏」

    数字通信系统的模型 框图「建议收藏」1.2.

    2022年4月19日
    254
  • python中文件的写入_python列表写入txt文件

    python中文件的写入_python列表写入txt文件1.自己写入txt直接上核心代码:withopen(“douban.txt”,”w”)asf:f.write(“这是个测试!”)12这句话自带文件关闭功能,所以和那些先open再write再close的方式来说,更加pythontic!结果就是这样:2.将文件输入(print)的内容写入txt我并不喜欢手写字符,更多时候用到的就是将程序跑出来的print写到txt中保存,比如

    2022年10月2日
    4
  • this指针的原理

    this指针的原理讲解this指针的原理是个很复杂的问题,如果我们从javascript里this的实现机制来说明this,很多朋友可能会越来越糊涂,因此本篇打算换一个思路从应用的角度来讲解this指针,从这个角度理解this指针更加有现实意义。  下面我们看看在java语言里是如何使用this指针的,代码如下:复制代码publicclassPerson{privateStringname;priva

    2022年5月17日
    52
  • 漫画什么是分布式事务_分布式事务框架

    漫画什么是分布式事务_分布式事务框架点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!————— 第二天 —————————————————假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子:上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订

    2025年8月9日
    2
  • 关系数据库基础理论[通俗易懂]

    关系数据库基础理论[通俗易懂]mysql系列之一关系数据库基础理论正是数据库管理的需要催生了数据库管理系统DBMS,而关系型数据库管理系统为RDBMS常见的数据模型有三种:-层次模型-网状模型-关系模型一、关系数据库的产生在DBMS出现之前,人们用文件来管理数据,但存在很多缺陷:1.数据冗余和不一致性。数据冗余表示在每个shell脚本中基本上都是/bin/bash,但很多用户使用…

    2022年10月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号