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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解摘要:JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存…

    2022年5月2日
    39
  • 思科交换机 flow control 交换机流控[通俗易懂]

    思科交换机 flow control 交换机流控[通俗易懂]配置IEEE802.3X流控制流控制在直连的以太端口上启用,在拥塞期间允许另一端拥塞的节点暂停链路运作来控制流量速率。如果一个端口发生拥塞并且不能接收任何更多的流量,他将通知对端端口停止发送直到这种拥塞情况消失。当本地设备在他本地检测到了任何拥塞,他能够发送一个暂停帧通知链路伙伴或者远程设备已发生拥塞。紧随收到暂停帧之后,远程设备停止发送任何…

    2022年6月5日
    88
  • pycharm中创建虚拟环境「建议收藏」

    pycharm中创建虚拟环境「建议收藏」1什么是虚拟环境虚拟环境是用于依赖项管理和项目隔离的Python工具,允许Python站点包(第三方库)安装在本地特定项目的隔离目录中,而不是全局安装(即作为系统范围内的Python的一部分)。这听起来不错,但到底什么是虚拟环境呢?虚拟环境只是一个包含三个重要组件的目录:·安装了第三方库的site-packages/文件夹。·系统上安装的Python可执行文件的symlink符号链接。·确保执行Python代码的脚本使用在给定虚拟环境中安装的Python解释器和站点包。2.为什么使用虚

    2022年8月29日
    0
  • 张耀阳[通俗易懂]

    张耀阳[通俗易懂]2006.9.17 18:39500)this.style.width=500;”> 张耀阳——杀出个恶名  在他演过的五十几部电影中,有四十多部他扮演了古惑仔,仅在[古惑仔]系列中,张耀阳就“死去活来,阴魂不散”。“乌鸦”丧命后,他又借尸还魂摇身变做“东兴耀阳”,演反派演的把自己名字也搭进去,这真是连他本人都始料未及的

    2022年9月14日
    0
  • 面试必需要明白的 Redis 分布式锁实现原理!

    作者 | Vt 来源 | juejin.im/post/5e61a454e51d4526f071e1df 谈起redis锁,下面三个,算是出现最多的高频词汇: setnx…

    2021年6月22日
    105
  • javaScript动态添加Li元素「建议收藏」

    javaScript动态添加Li元素「建议收藏」html代码块**javaScript动态添加Li元素**ulli{list-style:none;display:block;text-align

    2022年6月22日
    80

发表回复

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

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