Existem métodos anônimos em Java?

3 respostas
Operador_Nabla

Nestes últimos meses, vez ou outra, precisei lidar com funções anônimas (os famosos lambdas, comuns em programação fucional) em meus programas (por exemplo, utilizando EmacsLisp para remapear o teclado no Emacs, convertendo caracteres acentuados em comandos LaTeX apropriados, e, mais recentemente, num utilitário Python que estou escrevendo para realizar algumas tarefas no meu Gentoo Linux).

Aí bateu a curiosidade: existem métodos anônimos (e/ou outros recursos de programação funcional) em Java (ou alguma forma de emulá-lo(s))? Se não, há alguma perspectiva de que tais recursos sejam implementados em versões futuras da plataforma? Ou isto não seria interessante?

3 Respostas

Rafael_Steil

Nao, nao ha metodos anonimos. Voce pode conseguir isso com alguma linguagem de scripting, como beanshell, jpython, groovy etc…

Rafael

pcalcado

Se eu entendi, atualmente, não.

Tem umas alternativas meia-boca:

Groovy, linguagem de script para roda na JVM possui este recurso, os closures.

informações:
http://java.about.com/b/a/142215.htm

mas o ideal é uma linguagem especializada =/

cv1

O mais perto que chegamos disso usando Java puro eh com inicializadores estaticos e inner classes anonimas:

Foo foo = new Foo() {{
  // codigo executado imediatamente
  }

  public void execute(Bar bar) {
   // codigo executado em foo.execute()
  }
};
Criado 3 de abril de 2005
Ultima resposta 3 de abr. de 2005
Respostas 3
Participantes 4