当前位置:  开发笔记 > 编程语言 > 正文

为什么Java的String不能从Comparable接口分配

如何解决《为什么Java的String不能从Comparable接口分配》经验,为你挑选了1个好方法。

Javadoc说String工具Comparable

但是,以下代码返回false:

String.class.isAssignableFrom(Comparable.class)

如何检查某个类是否实现了给定的接口?



1> Tunaki..:

你误解了什么isAssignableFrom(cls)在运作.引用Javadoc:

确定此Class对象表示的类或接口是否与指定的Class参数表示的类或接口相同,或者是它们的超类或超接口.如果是这样,它返回true; 否则返回false.如果此Class对象表示基本类型,则如果指定的Class参数恰好是此Class对象,则此方法返回true;否则返回true.否则返回false.

这意味着当你检查时

String.class.isAssignableFrom(Comparable.class)

你实际上在检查这个String班级是否是班级的超级Comparable班级,而不是相反.你应该检查:

Comparable.class.isAssignableFrom(String.class)

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有