Só para deixar uma explicação mais detalhada… no Java não é possível fazer isto por que?..
Java não é uma linguagem interpretada, ou seja Java não interpreta linha a linha como o PHP, ASP, Python, Ruby, Lua, etc… logo não é possível no meio da execução mandar o JRE executar um comando dinâmico, o JRE executa apenas o bytecode dos .class, portanto nem o JRE sabe o que é:
meuObjeto.getPropriedadeInteger().intValue == 1
Os comandos Java, não chegam assim no JRE e sim chega como bytecode(uma cosia nada haver q só ele intende), isto para poder ser uma plataforma de alto nível, para poder ter um alto desempenho e tudo mais, é como no C/C++, Delphi, VB, Assembly, etc… não tem como vc executar um comando destas linguagens sem ser o Binário gerado pelos seus compiladores…
As linguagens interpretadas como os scripts, o que fazem é interpretar linha a linha cada vez q o código é executado, isto causa uma grande perda de desempenho como deves imaginar, mas assim o interpretador pode executar um código dinamicamente dentro de uma string chamando uma função própria pra isto que indique ao interpretador q aquela string tem um código q ele tem q executar…
Portanto o JRE não executa código Java, e ele não entende nada de Java, apenas os Bytecodes gerados pelo JavaC…
O JavaC o q faz é “traduzir” um arquivo .java para .class, para que o Java(JRE) consiga saber o que tem que ser executado… portanto a linguagem Java é apenas uma forma para os humanos conseguirem escrever bytecodes passando pelo JavaC, e ele é q faz esta ponte…