Usando classes java com Clojure
Hoje vamos mostrar como importar e utilizar classes Java. A idéia desse artigo é simples:
Primeiro vou mostrar como fazemos import no Java para então mostrar em Clojure.
No código acima temos um exemplo simples, uma instância da classe SimpleDateFormat
para formatar uma data, e usamos o método format
da classe SimpleDateFormat
para ter uma String
com data formatada.
Depois um println
dessa variável, abaixo temos um getProperty
da versão da JVM
.
Agora vamos nos divertir com Clojure e ver o comportamento de import
e instâncias
.
Primeiro vamos importar as classes que precisamos para fazer nosso exemplo, que são:
Para criar instâncias de classe java, vamos utilizar o .
, é com ele que podemos criar nossas instâncias Java dentro de arquivos Clojure.
Agora podemos criar instâncias de Date
e SimpleDateFormat
em nosso arquivo.
Para isso vamos definir variáveis como já fizemos em artigos anteriores e atribuir instâncias das classes Java descritas acima.
Acima temos duas instâncias, uma da classe Date
e outra da classe SimpleDateFormat
. Vamos ver exemplos de como utilizá-las:
Agora temos alguns exemplos de como utilizar essas instâncias de Date
e SimpleDateFormat
.
* No primeiro exemplo não utilizei as instâncias date
e sdf
que fiz, acabei criando tudo na mesma linha, sem atribui-las a nenhuma variável.
* No segundo exemplo usei o método .format
que é da instância sdf
e passei por parâmetro uma instância de Date
.
* No terceiro exemplo utilizei a instância de date
que definimos anteriormente.
* No último exemplo acabei utilizando as duas instâncias, date
e sdf
.
Note que em todos os exemplos temos o mesmo resultado.
Uma observação de Clojure, como estamos trabalhando com Functional Programming tudo aqui é estático, ou seja, essas instâncias nunca mudam.
Agora vamos fazer um exemplo simples de String em Java e Clojure:
Nos exemplos acima o resultado é o mesmo CLOJURE WITH JAVA
.
E por último vou mostrar um exemplo da classe System
do java e vou mostrar qual a versão da JVM
.
Em Java temos:
Em Clojure temos:
Nos dois exemplos acima temos o resultado: 25.121-b13
que no caso é a versão da JVM
que tenho instalada.
Acredito que seja isso por hoje, todo o código desse projeto vai ficar no Github e qualquer dúvida podem entrar em contato :).
Abaixo os outros artigos e os que estão por vir:
- Hello World;
- Criar nossas próprias funções;
- Utilizando funções existentes do Clojure;
- Criando nosso primeiro projeto Clojure;
- Criando API com Clojure;
- Criando WebAPP com Clojure;
- Ver como criamos funções e como podemos re-utilizar em nosso projetos;
- Criar projeto web;
- Utilizar Classes Java em funções Clojure;
- e muito mais…
Abraços!!