Почему в JDO "pm.newQuery (Employee.class)", а не "pm.newQuery (Employee)"? - PullRequest
1 голос
/ 30 марта 2010

В этом JDO, зачем .class нужен здесь?

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

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

Query averageSalaryQuery = pm.newQuery(Employee);

Ответы [ 2 ]

4 голосов
/ 30 марта 2010
Query averageSalaryQuery = pm.newQuery(Employee);

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

Для ссылки на класс в Java используется синтаксис .class.

2 голосов
/ 30 марта 2010

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

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

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

...