java 泛型调用方法调用_java – 如何使用泛型调用最具体的方法?
有以下示例:
public class Test {
public static class A {}
public static void main(String[] args) {
A a = new A();
m1(a);
}
public static void m1(T t) {
// t.getClass().getSimpleName() is A
// t instanceof A is true
m2(t);
}
/* Not called */
public static void m2(A a) {
System.out.println("A");
}
public static void m2(Object o) {
// o.getClass().getSimpleName() is A
// o instanceof A is true
System.out.println("O");
}
}
我不明白为什么选择m2(对象o)而不是m2(A a).如您所见,当调用m2(t)时,t“是A”.
输出:
>实际
O
>预期
A
如何在上面的情况下使用泛型,以便选择m2(A a)?
编辑:
即使我添加了类型B(类似于A),我也希望有一个通用的解决方案.
...
public static void main(String[] args) {
A a = new A();
m1(a);
B b = new B();
m1(b);
}
...
public static void m2(B b) {
System.out.println("B");
}
...
输出:
>实际
O
O
>预期
A
B
java 泛型调用方法调用_java – 如何使用泛型调用最具体的方法?相关推荐
- java ocr文字识别软件_Java文字识别软件-调用百度ocr实现文字识别
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
- java同时执行同一个方法吗_java 返回结果的同时执行另一个方法
照 JPer 的指点,改写了代码 如下,旨在说明 " 如果调用方法 a() 的过程还没有结束,JAVA虚拟机 JVM绝不会去解释并执行下一行,即绝不会去创建JSONObject 对象 jso ...
- java 反射创建对象并赋值_java使用反射创建并操作对象的方法
Class 对象可以获得该类里的方法(由 Method 对象表示).构造器(由 Constructor 对象表示).成员变量(由 Field 对象表示),这三个类都位于 java.lang.refle ...
- java 获取类的注解_Java 自定义注解通过反射获取类、方法、属性上的注解
反射 JAVA中的反射是运行中的程序检查自己和软件运行环境的能力,它可以根据它发现的进行改变.通俗的讲就是反射可以在运行时根据指定的类名获得类的信息. 注解的定义 注解通过 @interface 关键 ...
- java比较两个对象_java判断两个对象是否相等的方法
java判断两个对象是否相等的方法 发布时间:2020-06-25 13:48:38 来源:亿速云 阅读:197 作者:Leah 这期内容当中小编将会给大家带来有关java判断两个对象是否相等的方法, ...
- java 如何跳出if语句_java中跳出或终止if语句的方法
1.break break:跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环.for (int i = 0; i < 10; i++) { if ...
- java定时执行一次_java Timer(定时调用、实现固定时间执行)
最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...
- java如何调用linux命令_java程序中如何调用linux命令
java程序中如何调用linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服 ...
- java同步转化成异步_Java 如何把异步调用模拟成同步调用
在某些时候,须要把异步调用模拟成同步调用的形态.例如,基于基于异步通讯的客户端须要同步调用. :-)异步 要实现这个转换,能够有多种实现方法:this 1.很经常使用的方法,应用循环机制:spa bo ...
- java 静态调用非静态方法_java中静态方法中调用非静态方法的详解
首先static的成员是在类加载的时候初始化的,JVM的CLASSLOADER的加载,首次主动使用加载,而非static的成员是在建立对象的时候,即new 操做的时候才初始化的:函数 前后顺序是先加载 ...
最新文章
- 基础补充:使用xlrd模块读取excel文件
- java 开票金额拆分_关于开票尾差拆分凑整的算法问题
- python dlib学习(十一):眨眼检测
- Netty 源码走读
- 进行SEPM的灾难恢复时导入数据库后,Symantec Endpoint Protection Manager(SEPM)无法登陆...
- 2016ICPC沈阳站
- 2019 java值得学吗_Java认证值得吗?
- 信息系统项目管理师论文优秀范文_软考 信息系统项目管理师备考指南
- VC 2008 Express 编译OpenCV2.0/2.1
- 重庆市南川隆化职业学校计算机,重庆市第十三届中等职业学校职业技能大赛“web前端开发”赛项在南川隆化职中举行...
- 那些年出现的遇到的 错误 VS (长期)
- VB代码颜色修改(修改注册表的方法)
- R语言中经纬度度分秒转小数
- springboot+责任链模式初体验
- md4 java_求MD4 java实现的代码
- 人不行别怪路不平!万丈高楼平地起,要想辉煌靠自己。
- 第四届高教杯计算机绘图教程,第三届“高教杯”机械类计算机绘图试卷(三维).pdf...
- 计算机专业Java毕设怎么做
- Linux如何测试驱动性能,掌握 Linux PC 性能之基准测试
- [ArcGIS] 空间分析(五) 网络分析
热门文章
- UDO report generate DDIC table
- SAP CRM BCSet activation debug
- why context node binding does not work in pop up window case
- SAP Gigya里类似Netweaver里SAP_ALL的权限
- 变频器lpm故障码是什么_什么是变频器软故障,如何解决?
- 画箱线图_箱线图的N种画法
- linux26内核,Linux26内核对象机制研究.pdf
- python中forward函数的引用_pytorch 调用forward 的具体流程
- JAVA复习(二维数组——快排——迷宫)
- abb软启动器pstx手册_关于 ABB工业机器人碰撞检测功能的介绍