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
Post a Comment