Por que “PM.NewQuery (Employee.Class)” e não “PM.NewQuery (funcionário)” no JDO?

StackOverflow https://stackoverflow.com/questions/2542215

  •  23-09-2019
  •  | 
  •  

Pergunta

Neste JDO, por que é .class necessário aqui?

Query averageSalaryQuery = pm.newQuery(Employee.class);

Eu preferiria escrever essa sintaxe mais concisa, se possível?

Query averageSalaryQuery = pm.newQuery(Employee);
Foi útil?

Solução

Query averageSalaryQuery = pm.newQuery(Employee);

Bem, ainda tem que ser válido Java, que acima não é ...

A maneira de se referir a uma classe em Java é usar o .class sintaxe.

Outras dicas

Usando o sufixo ".classe" é uma convenção do idioma, portanto, seu segundo exemplo é apenas semanticamente inválido. Nada que você possa fazer sobre isso realmente. É equivalente a chamar de getClass() Método em uma instanciação da classe, como:

Query averageSalaryQuery = pm.newQuery(new Employee().getClass())

Então já é um atalho;)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top