قبل از هر چیز، اگه به برنامه نویسی اندروید علاقه مندی، من تو سایتم یک دوره آموزش برنامه نویسی اندروید از سطح کاملا مبتدی تا پیشرفته گذاشتم که کاملا رایگان میتونی ازش استفاده کنی، پس به دوره صفر مطلق اندروید یه سر بزن!
تو این مقاله میخام در مورد یکی از مهمترین مزایای کاتلین صحبت کنیم که بسیار کاربردیه، و شما رو از شر یکی از اذیت کننده ترین و زیاد ترین خطاهای جاوا نجات میده. و اون هم خطای NullPointerException هستش که توی جاوا بسیار مرسومه و خیلیها تا حالا بهش برخورد داشتن.
راستی قبل از اینکه ادامه این آموزش رو بخونی، میدونستی ما تو سایت ترولرن یه دوره آموزش رایگان برنامه نویسی کاتلین بصورت مقاله محور داریم، این لیست آموزشهای رایگان ما هستش حتما ببین چون کل کاتلین رو بصورت کاملا رایگان داریم آموزش میدیم.
اما با استفاده از امکان Null Safety در کاتلین این خطا برطرف شده و این یکی از مهمترین مزایای کاتلین نسبت به جاواست. دیگه شما درگیر این خطای رو اعصاب نمیشین و تمامی خطاهای NullPointerException دقیقا همون لحظه ای که دارید کد میزنید بهتون نمایش داده میشه و اصلا کاتلین بهتون اجازه نمیده که متغیر نال داشته باشید.
همونطور که گفتیم به این قابلیت ، Null Safety در کاتلین یا همون مراقبت در مورد متغیرهای نال برای خطای NullPointerException گفته میشه.
اما یه نکته مهم هم هست، اگه شما به متغیری نیاز داشته باشید که بتواند null باشد، باید آن را با استفاده از قابلیت nullable اعلام کنید، و این کار را باید با اضافه کردن ؟ به آخر تعریف متغیر انجام دهید.
برای مثال کدهای زیر را نگاه کنید:
var neverNull: String = "This can't be null" // 1
neverNull = null // 2
var nullable: String? = "You can keep a null here" // 3
nullable = null // 4
var inferredNonNull = "The compiler assumes non-null" // 5
inferredNonNull = null // 6
در خط 1 : یک رشته را تعریف کردیم که Null Safety است و نمیتواند مقدار null را به خود بگیرد.
در خط 2 : خطا داریم، زمانی که به یک متغیر Null Safety ، یک مقدار null را نسبت دهیم یک خطای کامپایل اتفاق میافتد.
در خط 3 : یک متغیر nullable را تعریف کردیم، یا اضافه کردن ? به آخر آن اینکار را انجام دادیم.
در خط 4 : به علامت سوال دقت کنید، زمانی که یه مقدار null را به یک متغیر nullable نست دهیم مشکلی بوجود نمیآید.
در خط 5 : اگر نوع داده را ما تعریف نکنیم، و تعریف نوع داده را به کاتلین بسپاریم، بصورت پیش فرض داده از نوع Null Safety تعریف میشود.
در خط 6 : طبق تعریف خط 5 خطا داریم، زمانی که به یک متغیر Null Safety ، یک مقدار null را نسبت دهیم یک خطای کامپایل اتفاق میافتد.
ما یه دوره رایگان برنامه نویسی اندروید از صفر مطلق نو سایت ترو لرن داریم که میتونید از اینجا ثبت نام کنید و استفاده کنید.
امیدوارم مطالبی که در مورد Null Safety در کاتلین گفتم براتون مفید بوده باشه. از دیدن پیج اینستاگرام ترولرن غافل نشید، راستی یادتون باشه که همیشه بهترین جا برای یادگیری هر زبان برنامه نویسی، سایت خودش و خوندن داکیومنت های مرجع اون زبان هستش، بعد از خوندن این مقاله میتونید برای اطلاعات بیشتر به اینجا مراجعه کنید.
دوست برنامه نویسی من، برای خوندن مقالات تخصصی اندروید، میتونی به سایت ترولرن هم مراجعه کنی