我希望你能告诉我如何询问一个Java对象是List还是ArrayList。
例如:
例如:
if (Object instanceof List <?>)) {
// Do something
}
PS: 我有几个不同类型的列表,并希望实现该方法,无论它们包含什么类型的数据。
if (Object instanceof List <?>)) {
// Do something
}
PS: 我有几个不同类型的列表,并希望实现该方法,无论它们包含什么类型的数据。
要测试一个实例是否为List
或ArrayList
1,只需使用instanceof
。
请注意,根据JLS 15.20.2的规定,instanceof
运算符的类型操作数必须是可重用类型,在JLS 4.7中定义为:
因此,这两个都应该有效:
if (obj instanceof List)) { // raw type
// Do something
}
if (obj instanceof List <?>)) { // type parameter is an unbounded wildcard
// Do something
}
但这将是一个编译错误:
if (obj instanceof List <Integer>)) {
// Do something
}
<>
。 - Sotirios DelimanolisArrayList
是 一个List
。你是在问它是否是List
的另一种实现吗? - Louis Wasserman