AnyCompiler

Strings

Ek Java String immutable hota hai — ek baar banne ke baad, use kabhi badla nahi ja sakta. + se concatenate karna original string ko modify nahi karta; yeh ek bilkul naya string banata aur wapas karta hai, aur .length() ek string ka character count report karta hai.

public class Main {
    public static void main(String[] args) {
        String first = "Hello";
        String second = "World";
        String combined = first + ", " + second + "!";
        System.out.println(combined);
        System.out.println("length = " + combined.length());
    }
}
Output
Hello, World!
length = 13

== versus .equals()

== object references compare karta hai — ke kya do variables memory mein exact same object ko point karte hain — jabke .equals() actual contents compare karta hai. new String(...) se alag alag banaye gaye do String objects equal text rakhte hain lekin alag objects hote hain, isi wajah se == false wapas kar sakta hai chahe strings identical dikhein; strings compare karne ka matlab almost hamesha .equals() tak pahunchna hota hai.

public class Main {
    public static void main(String[] args) {
        String a = new String("java");
        String b = new String("java");
        System.out.println(a == b);
        System.out.println(a.equals(b));
    }
}
Output
false
true

Aage: classes aur objects — ek class define karna, fields, constructors, aur instances banana.

Practice exercise

Ek String s = "rust lang" diya gaya hai, substring istemal kar ke sirf "rust" (pehle 4 characters) nikalein, phir use print karein.