Kotlin Null Safety – ব্রেইন-ফ্রেন্ডলি ব্যাখ্যা!

 

🎯 Kotlin Null Safety – ব্রেইন-ফ্রেন্ডলি ব্যাখ্যা!

🧠 Null মানে কী?

👉 ধরুন, আপনি একটা কাপ চা নিতে গেলেন, কিন্তু দোকানদার বললো – "চা নেই!"

  • এখানে "চা নেই" মানে কোনো মান নেই → null!

null = কোনো ভ্যালু নেই বা খালি!

প্রোগ্রামিং এ null থাকলে বিপদ হয়! 😵
👉 NullPointerException (NPE) নামে এক দানব আসে!


🚀 Kotlin এ null নিয়ে সতর্কতা!

👉 Java তে null ব্যবহার করলে NPE এর কারণে অ্যাপ ক্র্যাশ করতে পারে!
👉 Kotlin এ null নিয়ে কড়া নিয়ম আছে, যেন ভুল না হয়! 😎

Kotlin এ কোনো ভ্যারিয়েবল ডিফল্টভাবে null হতে পারে না!

var name: String = null // ❌ কম্পাইল-টাইম ERROR!

সমাধান → ? (nullable type) ব্যবহার করুন!

var name: String? = null // ✅ এখন ঠিক আছে!

👉 String? মানে → এই ভ্যারিয়েবল null ও হতে পারে, আবার মান ও থাকতে পারে!


🎯 Null Handling (কীভাবে null থেকে বাঁচবেন?)

🔥 1️⃣ Safe Call (?.) → নিরাপদে null চেক!

👉 যদি একটা ভ্যালু null হয়, তাহলে .property বা .function() কল করা বিপজ্জনক!

var name: String? = null
println(name?.length) // ✅ Safe Call

✅ Output:

null

👉 ?. চেক করে নেয় → যদি null হয়, তাহলে কিছুই করবে না!


🔥 2️⃣ Elvis Operator (?:) → null হলে ডিফল্ট ভ্যালু!

👉 যদি null হয়, তাহলে বিকল্প ভ্যালু দিয়ে দিন!

var name: String? = null
val length = name?.length ?: 0
println(length) // ✅ Output: 0

👉 ?: মানে → যদি null হয়, তাহলে ০ রাখো!


🔥 3️⃣ Not-Null Assertion (!!) → বিপজ্জনক, কিন্তু দরকারে জোর করে!

👉 যদি আপনি নিশ্চিত হন যে null হবে না, তাহলে !! দিয়ে null চেক এড়াতে পারেন!

var name: String? = "Kotlin"
println(name!!.length) // ✅ OK, কারণ `name` null নয়!

👉 কিন্তু সাবধান! !! ব্যবহার করলে, যদি null হয়, তাহলে অ্যাপ ক্র্যাশ করবে! 😵


🔥 4️⃣ Safe Casting (as?) → null হলে সমস্যা এড়ানো!

👉 ভুল টাইপ কাস্ট করলে null রিটার্ন করবে!

val number: Any = "123"
val num: Int? = number as? Int
println(num) // ✅ Output: null (ভুল কাস্ট করলে null হবে!)

🎯 Null Safety সংক্ষেপে:

অপারেটর কাজ কী? উদাহরণ
?. null হলে কিছুই করবে না name?.length
?: null হলে ডিফল্ট মান দেবে name?.length ?: 0
!! জোর করে null এড়াবে (বিপজ্জনক!) name!!.length
as? ভুল টাইপ কাস্ট হলে null হবে val x: Int? = obj as? Int

🚀 এখন আপনি Kotlin Null Safety মাস্টার! 🏆

👉 এবার কোড প্র্যাকটিস শুরু করে দিন! 😎🔥

Comments

Popular posts from this blog

AI (Artificial Intelligence) সহজভাবে বোঝার জন্য একদম মস্তিষ্ক-বান্ধব ব্যাখ্যা 🧠🤖

🧠 Regex কী?

Kotlin-এ ভেরিয়েবল ঘোষণা করার দুই উপায়