¿Por qué “pm.newQuery (Employee.class)” y no “pm.newQuery (Empleado)” en JDO?

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

  •  23-09-2019
  •  | 
  •  

Pregunta

En este JDO, ¿por qué es necesaria .class aquí?

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

Yo preferiría escribir esta sintaxis más concisa si es posible?

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

Solución

Query averageSalaryQuery = pm.newQuery(Employee);

Bueno, todavía tiene que ser válido de Java, que lo anterior no es ...

La forma de referirse a una clase en Java está utilizando la sintaxis .class.

Otros consejos

El uso del sufijo ".class" es una convención de la lengua, por lo que su segundo ejemplo es sólo semánticamente válida. Nada de lo que puede hacer al respecto realmente. Es equivalente a una llamada al método getClass() en una instancia de la clase, como:

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

Por lo que es ya un acceso directo;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top