۳. سینتکس و الگو
متد Java.cast دو آرگومان میگیرد:
- Handle: شیء یا نمونهای که میخواهید تبدیل کنید (این شیء را قبلا از
Java.chooseیا خروجی یک متد گرفتهاید). - Class: آبجکت کلاسی که میخواهید به آن تبدیل شود (که باید قبلا با
Java.useتعریف کرده باشید).
در زیر الگوی استاندارد نوشتن این دستور را مشاهده میکنید:
کد فریدا (الگوی سینتکس):
javascript
/* 1. تعریف کلاسی که میخواهیم شیء را به آن تبدیل کنیم */
var MyTargetClass = Java.use("com.target.Class")
/* 2. انجام عملیات تبدیل (Casting) */
/* originalInstance: همان شیء ناشناس یا جنریک است */
var castedInstance = Java.cast(originalInstance, MyTargetClass)چه زمانی از Java.cast استفاده کنیم؟
- زمانی که متد
Objectبرمیگرداند ولی ما متدهای فرزند (Child) را میخواهیم. - زمانی که با Collections (مثل
ArrayList) کار میکنیم و آیتمهای درون لیست به صورتObjectخام دیده میشوند. - زمانی که میخواهیم با یک شیء به عنوان یک Interface خاص رفتار کنیم.