Подтвердить что ты не робот

Как я могу вызвать статический метод java в clojure?

Я хочу вызвать класс в классе String. Как я могу получить доступ к этому статическому методу?

4b9b3361

Ответ 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 как литералы, вам нужно либо импортировать их, либо указать полное имя пакета + класса с помощью разделителей точек (.).