تفاوت بین void و Void تو جاوا رو میدونی؟ا
این دوتا متفاوتن ولی باهم ارتباط دارن. حالا بیا تا بهت بگم.
فقط اینجا به void با (V بزرگ) یا (v کوچیک) دقت کن.
- کلمه کلیدی void زمانی استفاده میشه که یه متد هیچ مقداری رو برنگردونه.
- وقتی متدی با نوع بازگشتی void اعلان میشه، به این معنی هست که متد یه سری کارهایی رو انجام میده اما هیچ مقداری را برنمیگردونه، یعنی return نداره.
- مثالی از یک متد با نوع بازگشتی void:
- کلاس Void در جاوا یک wrapper class تو پکیج java.lang هست، که نوع بازگشتی void را به عنوان یک شی ارائه میده. (wrapper classها رو در پست بعدی توضیح دادم)
- این کلاس معمولاً در سناریوهایی استفاده میشه که باید با generics یا reflection (بازتاب) کار کنید و میخوایید نوع بازگشتی void را به عنوان یک شی ارائه بدید.
- مثالی از استفاده از کلاس Void در یک متد Generic:
تو مثال بالا، متد processValue یک متد generic هست، که یک پارامتر از نوع T رو می گیره، مقدار رو به نوعی از داده (هر نوعی که در زمان فراخوانی متد ازش درخواست بشه، مثلا string,int,...) تبدیل میکنه و بعد null رو برمیگردونه.
ولی تو روش اصلی (یعنی روشی که generic نیست و برای هر نوع ورودی باید یه متد نوشته بشه)، ما processValue رو با انواع مختلفی از داده و نوع داده فراخوانی می کنیم و پیامی رو چاپ می کنیم که نشون میده value در حال پردازش هست.
و در نهایت خروجی:
امیدوارم این کمک کرده باشه که تفاوت بین Void و void در جاوا و نحوه استفاده از اون رو متوجه شده باشید.
اگر سوال بیشتری دارید از طریق ایمیل پاسخگو هستم :)