AnyCompiler

Optional Type

Optional<T> ek aisi value represent karta hai jo present ho bhi sakti hai aur nahi bhi, null wapas karne aur ummeed karne ke ek explicit alternative ke tor par ke callers use check karna yaad rakhein. Optional.of(value) ek present value ko wrap karta hai, Optional.empty() ek absent value represent karta hai, aur orElse(fallback) use safely unwrap karta hai, jab kuch na ho to ek default supply karte hue.

import java.util.Optional;

public class Main {
    static Optional<String> findUser(int id) {
        if (id == 1) {
            return Optional.of("Alice");
        }
        return Optional.empty();
    }

    public static void main(String[] args) {
        Optional<String> user = findUser(1);
        System.out.println(user.orElse("Unknown"));
        Optional<String> missing = findUser(2);
        System.out.println(missing.orElse("Unknown"));
    }
}
Output
Alice
Unknown

Yehi hai Java ki foundation: code structure karne ke liye classes aur interfaces, behavior share karne ke liye inheritance aur polymorphism, reusable, type-safe data structures ke liye generics aur Collections Framework, aur Java ke zyada modern, functional style ke liye lambdas aur streams. Yahan se, best agla qadam hai mashq — ek chhota program chuno aur use banao, compiler ki static type checking par inhisar karte hue mistakes pakarne ke liye jaise aap aage barhte hain.

Practice exercise

Ek method findUser(int id) likhein jo ek Optional<String> wapas kare: "Alice" agar id 1 ho, warna empty. Use 2 ke sath call karein aur result ko orElse("Unknown") ke sath print karein.

← static aur finalAur lessons jald aa rahe hain