Perché “pm.newQuery (Employee.class)” e non “pm.newQuery (Employee)” in JDO?

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

  •  23-09-2019
  •  | 
  •  

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);
È stato utile?

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
scroll top