Я хочу вызвать класс в классе String. Как я могу получить доступ к этому статическому методу?
Как я могу вызвать статический метод java в clojure?
Ответ 1
Вы можете вызвать статический метод, используя (ClassName/methodName arguments)
.
Однако class
не является статическим методом, это ключевое слово java, и вам это не нужно в clojure. Чтобы получить объект Class, связанный с классом String, просто используйте String
.
Ответ 2
Пример стоит 100 слов:
(. String (valueOf 1))
Ответ 3
Класс не имеет метода "класса", а не "класса". Символ String сопоставляется с классом java.lang.String, если то, что вы хотите получить, эквивалентно Java String.class
. Если вы хотите вызвать статический метод класса String, синтаксис (String/methodName arg1 arg2)
.
Ответ 4
На ваш вопрос был дан ответ, я думаю, но если вы действительно хотите получить класс неизвестного объекта, вы можете использовать функцию класса:
> (class "Foo")
java.lang.String
Как и в java, чтобы указать классы за пределами java.lang как литералы, вам нужно либо импортировать их, либо указать полное имя пакета + класса с помощью разделителей точек (.).