Perché “pm.newQuery (Employee.class)” e non “pm.newQuery (Employee)” in JDO?
Domanda
In questo JDO, perché è necessario .class
qui?
Query averageSalaryQuery = pm.newQuery(Employee.class);
Io preferirei di scrivere questa sintassi più concisa, se possibile?
Query averageSalaryQuery = pm.newQuery(Employee);
Soluzione
Query averageSalaryQuery = pm.newQuery(Employee);
Bene, deve ancora essere valida Java, che quanto sopra non è ...
Il modo per fare riferimento a una classe in Java sta usando la sintassi .class
.
Altri suggerimenti
Utilizzando il suffisso ".class" è una convenzione della lingua, in modo che il secondo esempio è solo semanticamente valido. Nulla si può fare su di esso in realtà. E 'equivalente al chiamando il metodo getClass()
su un'istanza della classe, come:
Query averageSalaryQuery = pm.newQuery(new Employee().getClass())
Quindi è già una scorciatoia;)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow