Если вы ищете Groovy, посмотрите на in
оператор.На самом деле это комбинация Class.isAssignableFrom(Class<?>)
и Class.isInstance(Object)
, означающая, что вы можете использовать ее для тестирования классов и объектов.
// Test classes
assert ArrayList in Collection
assert ArrayList in List
assert HashSet in Collection
assert HashSet in Set
// Test objects
def list = [] as ArrayList
def set = [] as HashSet
assert list in Collection
assert list in List
assert set in Collection
assert set in Set
Проверка, является ли объект массивом, может быть сложной.Я бы порекомендовал подход @ BurtBeckwith.
def array = [].toArray()
assert array.getClass().isArray()