يمكن الدعامات 2 مقبض إيسفاليد () أساليب بدلا من جيتفاليد ()

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

  •  21-12-2019
  •  | 
  •  

سؤال

في إطار ستروتس 2 ، عندما أسمي هذا الرمز في جسب:

if(test='item.value > 0')

فإنه سيتم تنفيذ التعليمات البرمجية جافا التالية:

getItem().getValue() > 0

هل يسمح هذا الإطار أيضا بدعم boolean سمات?بدلا من get() الطريقة ، وعادة ما تسمى "is".على سبيل المثال, public boolean isValid() بدلا من public boolean getValid.إذا كنت تفعل رمز الدعامات التالية:

if(test='item.valid')

وسوف ندعو المناسبة isValid() طريقة أو أنها سوف تفشل في العثور على getValid() الطريقة وبالتالي العودة null?

هل كانت مفيدة؟

المحلول

وسوف ندعو إما isValid() أو getValid() إذا كان هناك واحد.إذا كانت كلتا الطريقتين موجودتين ، فإن أي منهما سيتم استدعاؤه غير مضمون بواسطة واجهة برمجة تطبيقات انعكاس جافا.انظر Class#getDeclaredMethods().أيضا الدعامات 2 يستخدم داخليا طريقة التخزين المؤقت ، وبالتالي فإن أول واحد يحصل في ذاكرة التخزين المؤقت سيتم استخدامها في المرة القادمة.لذلك ، استخدم إحدى هذه الطرق للوصول إلى الخصائص.

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