В заводной это довольно легко создать укупорочное метод, например:Почему закрытие метода в объекте класса не выполняется?
groovy:000> p = 1.&plus
===> [email protected]
groovy:000> p(3)
===> 4
Однако, по какой-то причине происходит сбой при попытке использовать экземпляр Class
:
groovy:000> List.isInstance([])
===> true
groovy:000> t = List.&isInstance
===> [email protected]
groovy:000> t([])
ERROR groovy.lang.MissingMethodException:
No signature of method: java.util.List.isInstance() is applicable for argument types: (java.util.ArrayList) values: [[]]
at groovysh_evaluate.run (groovysh_evaluate:2)
...
groovy:000> t = List.class.&isInstance
===> [email protected]
groovy:000> t([])
ERROR groovy.lang.MissingMethodException:
No signature of method: java.util.List.isInstance() is applicable for argument types: (java.util.ArrayList) values: [[]]
at groovysh_evaluate.run (groovysh_evaluate:2)
...
Это довольно легко работайте вокруг этого, но я хотел бы понять, почему это происходит. Есть ли что-то в СС, которое останавливает это от работы и т. Д.?