تایپ کست String به Integer

سوال

سلام. در آموزش متدهای جنریک استاد چنین متدی رو تایپ کردند:

سوال اینجاست که وقتی بازگشتی تابع یک استرینگ مثل Hello هست، و ما هنگام فراخوانی تابع، نوع تایع یا نوع T رو Integer تعیین کنیم، چطور میشه در خط return مقدار Hello به Integer تایپ کست میشه؟ در حالیکه در حالت عادی نمیشه String رو به Integer تایپ کست کرد. ولی تو این نوع متد چنین چیزی جواب میده و خروجی Hello برمیگرده.

در حال بررسی 0
mh.atashgar 1 سال 1 پاسخ 138 دیده شده 0

پاسخ ( ۱ )

  1. تابعی که نوشتید برای جاوا نیست.
    فرمت توابع استاتیک جنریک در جاوا به این صورته:

    ابتدا تایپ T رو برای تابع معنادار می کنید بعد حق استفاده از اون رو دارید.

    هیچ شئ به شئ دیگه کست نمیشه مگر اینکه شئ اول از شئ دوم ارث بری کرده باشه. پس Integer به String به صورت مستقیم کست نمیشه. چون Integer و String از هم ارث بری نکردن.

    مثال دیگه: یک Integer به Object کست میشه ولی Object به Integer کست نمیشه. (مگر اینکه در Object یک مقدار Integer ریخته باشیم.)

ارسال یک پاسخ