لماذا "pm.newquery (amployee.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);

حسنًا ، لا يزال يجب أن يكون جافا صالحًا ، وهو ما سبق ليس ...

طريقة الإشارة إلى فصل في جافا هي استخدام .class بناء الجملة.

نصائح أخرى

إن استخدام لاحقة ".class" هي اتفاقية للغة ، لذلك فإن مثالك الثاني غير صالح بشكل دلالي. لا شيء يمكنك فعله حيال ذلك حقًا. إنها تعادل استدعاء getClass() طريقة على مثيل للصف ، مثل:

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

لذلك هو بالفعل اختصار ؛)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top