AnyCompiler

Optional Type

Optional<T> ek aisi value represent karta hai jo present ho bhi sakti hai aur nahi bhi, null return karne aur ummeed karne ke ek explicit alternative ke roop mein ki 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

Yahi 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 next step hai practice — ek chhota program pick karo aur use banao, compiler ki static type checking par depend karte hue mistakes pakadne ke liye jaise aap aage badhte ho.

Practice exercise

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

← static aur finalAur lessons jald aa rahe hain