在Java中有条件的情况下使用getType测试子类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Java中有条件的情况下使用getType测试子类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含942字,纯文字阅读大概需要2分钟。
内容图文
![在Java中有条件的情况下使用getType测试子类](/upload/InfoBanner/zyjiaocheng/689/e80cdaeee485443dbb1913b54ad42052.jpg)
我必须找出方法返回类型是否是某个基类的子类.到目前为止,我找不到能做到这一点的内置方法,只能找到测试确切的类匹配的方法.我也可以使用注释来完成此操作,但是我的想法是,如果我碰巧添加了一个新的子类,我不想添加额外的代码.我曾考虑过针对所有可能的子类进行测试,或者创建一个无类型的对象并使用“ instanceof”测试其实例,但是似乎没有什么是理想的.理想情况下:
if (m.getReturnType() Extends Superclass.class)
但是没有“扩展”具有类似于实际实例的“ instanceof”功能.有我不知道的条件运算符吗?预先感谢您的任何想法.
这实际上是一个android项目,所以我可能无法实现所有可能.
解决方法:
我想您要使用Class.isAssignableFrom(Class).
当仅将其与常规Java一起使用时,
System.out.println(List.class.isAssignableFrom(LinkedList.class));
打印出true.和:
System.out.println(Queue.class.isAssignableFrom(LinkedList.class));
因为LinkedList可以同时被视为列表和队列.然而,
System.out.println(ArrayList.class.isAssignableFrom(LinkedList.class));
由于LinkedList不能像ArrayList一样对待,因此打印为false.
内容总结
以上是互联网集市为您收集整理的在Java中有条件的情况下使用getType测试子类全部内容,希望文章能够帮你解决在Java中有条件的情况下使用getType测试子类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。