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);

}

}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • iPhone 抓包工具Charles使用[通俗易懂]

    iPhone 抓包工具Charles使用[通俗易懂]Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles主要的功能包括:支持SSL代理。可以截取分析SSL的请求。支持流量控制。可以模拟慢速网络

  • c++的发展方向

    c++的发展方向我现在是一名在校大学生,在学校期间自学C++有两年的时间了,看过C++Primer,stl,insideC++model(侯捷翻译的那本),com本质论等… 在学习C++的过程中感觉C++语言本身的确很强大,而且随着学习的深入,我逐渐感到要想在短时间了解这门语言的本质几乎是不可能的.因为我也学习过javaSE的一些东西,感觉就java和C#来说,语言本身不难,不过在底层调用方面有时候就

  • scratch文字朗读没有声音怎么办_pocketfiles怎样解密

    scratch文字朗读没有声音怎么办_pocketfiles怎样解密问题说明今天在使用pocketsphinx_continuous识别中文wav文件是,报如下错误:>pocketsphinx_continuous-hmmzh_broadcastnews_ptm256_8000-lmzh_broadcastnews_64000_utf8.DMP-dictzh_broadcastnews_utf8.dic-infilemyfile…

    2022年10月10日
  • 使用OSTaskCreate()建立一个任务后,该任务处于( )_worksheetfunction函数用法

    使用OSTaskCreate()建立一个任务后,该任务处于( )_worksheetfunction函数用法任务是操作系统处理的首要对象,在多任务运行的环境中,任务的管理需要考虑多方面的因素,最基本的任务管理是任务的创建。任务创建函数有两种,一种是基本的创建函数OSTaskCreate,另一种是扩展的任务创建函数OSTaskCreateExt。两个函数都实现了任务的创建,但是OSTaskCreateExt的功能更强,带有很多附加的功能,如果不需要附加功能,OSTaskCreate是完全可以胜任的,没有哪

  • pycharm 激活码Key is invalid(JetBrains全家桶)

    (pycharm 激活码Key is invalid)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlbnNlSWQiOi…

  • Oracle查看那些用户具有DBA权限「建议收藏」

    Oracle查看那些用户具有DBA权限「建议收藏」Oracle查看哪些用户具有DBA权限colGRANTEEfora20colgranted_rolefora20select*fromsys.dba_role_privswheregranted_role=’DBA’;GRANTEEGRANTED_ROLEADMDELDEFCOMINH——————————————————-AAA_DBA

发表回复

您的电子邮箱地址不会被公开。

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