Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java方法上的奇怪行为:isAssignableFrom(类<;?>;)_Java - Fatal编程技术网

java方法上的奇怪行为:isAssignableFrom(类<;?>;)

java方法上的奇怪行为:isAssignableFrom(类<;?>;),java,Java,如果您尝试以下代码(我已经在Java 6上尝试过): 它打印出来:false,但我希望打印出来:true,因为javadoc说: 确定此类对象表示的类或接口是否与指定的类参数表示的类或接口相同,或者是该类或接口的超类或超接口。 但是集合是集合的超类:公共接口集合扩展集合 那么,对这种奇怪行为的解释是什么呢 问题在于,您要么导入了错误的集合.class,要么导入了错误的集合.class 请注意,在Collection类上使用isAssignableFrom方法时,有一些常见的陷阱:我经常注意到人们

如果您尝试以下代码(我已经在Java 6上尝试过):

它打印出来:
false
,但我希望打印出来:
true
,因为javadoc说:

确定此类对象表示的类或接口是否与指定的类参数表示的类或接口相同,或者是该类或接口的超类或超接口。

但是集合是集合的超类:
公共接口集合扩展集合


那么,对这种奇怪行为的解释是什么呢

问题在于,您要么导入了错误的
集合.class
,要么导入了错误的
集合.class

请注意,在
Collection
类上使用
isAssignableFrom
方法时,有一些常见的陷阱:我经常注意到人们混淆了参数,因此他们调用
Set.class.isAssignableFrom(Collection.class)
而不是调用
Collection.class.isAssignableFrom(Set.class)

另一个经常引起人们注意的问题是
Map.class
,它不是
a
Collection


希望这能有所帮助。

问题在于您要么导入了错误的
集合.class
,要么导入了错误的
集合.class

请注意,在
Collection
类上使用
isAssignableFrom
方法时,有一些常见的陷阱:我经常注意到人们混淆了参数,因此他们调用
Set.class.isAssignableFrom(Collection.class)
而不是调用
Collection.class.isAssignableFrom(Set.class)

另一个经常引起人们注意的问题是
Map.class
,它不是
a
Collection


希望这能有所帮助。

问题在于您要么导入了错误的
集合.class
,要么导入了错误的
集合.class

请注意,在
Collection
类上使用
isAssignableFrom
方法时,有一些常见的陷阱:我经常注意到人们混淆了参数,因此他们调用
Set.class.isAssignableFrom(Collection.class)
而不是调用
Collection.class.isAssignableFrom(Set.class)

另一个经常引起人们注意的问题是
Map.class
,它不是
a
Collection


希望这能有所帮助。

问题在于您要么导入了错误的
集合.class
,要么导入了错误的
集合.class

请注意,在
Collection
类上使用
isAssignableFrom
方法时,有一些常见的陷阱:我经常注意到人们混淆了参数,因此他们调用
Set.class.isAssignableFrom(Collection.class)
而不是调用
Collection.class.isAssignableFrom(Set.class)

另一个经常引起人们注意的问题是
Map.class
,它不是
a
Collection



希望这有帮助。

您导入的
集合类型错误。它应该是
java.util.Collection
。或者Java6是一团糟。它在7点工作。或者下面@Marco13所说的。或者错误的
Set
类型。它应该是
java.util.Set
:-)你是对的,导入让我今天过得很愉快:)…它为我返回true,因此请检查导入的类是否正确。导入的
集合类型错误。它应该是
java.util.Collection
。或者Java6是一团糟。它在7点工作。或者下面@Marco13所说的。或者错误的
Set
类型。它应该是
java.util.Set
:-)你是对的,导入让我今天过得很愉快:)…它为我返回true,因此请检查导入的类是否正确。导入的
集合类型错误。它应该是
java.util.Collection
。或者Java6是一团糟。它在7点工作。或者下面@Marco13所说的。或者错误的
Set
类型。它应该是
java.util.Set
:-)你是对的,导入让我今天过得很愉快:)…它为我返回true,因此请检查导入的类是否正确。导入的
集合类型错误。它应该是
java.util.Collection
。或者Java6是一团糟。它在7点工作。或者下面@Marco13所说的。或者错误的
Set
类型。它应该是
java.util.Set
:-)你是对的,导入让我今天很开心:)…它对我来说是真的,所以请检查你是否导入了正确的类。我很感激你花时间添加了常见的陷阱部分,我必须承认这对我来说是一个陷阱(当我第一次开始使用反射时)。我感谢你花时间添加常见陷阱部分,我必须承认这对我来说是一个陷阱(当我第一次开始使用反射时)。我感谢你花时间添加常见陷阱部分,我必须承认这对我来说是一个陷阱(当我第一次开始使用反射时)。我很感激您花时间添加了常见陷阱部分,我必须承认这对我来说是一个陷阱(当我第一次开始使用反射时)。
System.out.println(Collection.class.isAssignableFrom(Set.class));