なぜ「pm.newQuery(Employee.class)」ではなく「pm.newQuery(従業員)」JDOで?

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