Почему в JDO «pm.newQuery(Employee.class)», а не «pm.newQuery(Employee)»?

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

  •  23-09-2019
  •  | 
  •  

Вопрос

Почему в этом JDO .class здесь нужен?

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

Я бы предпочел написать этот более краткий синтаксис, если это возможно?

Query averageSalaryQuery = pm.newQuery(Employee);
Это было полезно?

Решение

Query averageSalaryQuery = pm.newQuery(Employee);

Ну, это все равно должна быть действующая Java, а это не так...

Способ ссылки на класс в Java — использование .class синтаксис.

Другие советы

Использование суффикса «.class» является соглашением языка, поэтому ваш второй пример просто семантически недействителен.Ничего вы не можете с этим поделать.Это эквивалентно вызову getClass() метод при создании экземпляра класса, например:

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

Так что это уже ярлык ;)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top