Java mein String
ek bohot important aur frequently used data type hai. Agar aap Java seekh rahe ho, to Strings ka concept strong hona zaroori hai.
1. String Kya Hota Hai?
Java mein String
ek class hai jo character sequence ko represent karti hai. Ye characters ka ek group hota hai – jaise "Hello"
ya "Java123"
. Java mein Strings ko double quotes (" "
) se likhte hai.
Example:
String name = "Rahul";
Yahan "Rahul"
ek string literal hai.
2. String kaise banate hain?
Method 1: String Literal
String str1 = "Hello";
Java mein agar aap same value ki string bar-bar literal se banate ho to JVM usko string pool mein store karta hai.
Method 2: Using new
Keyword
String str2 = new String("Hello");
Ye method hamesha new memory banata hai heap mein.
Note: Java mein Strings immutable hoti hai.
3. String Immutable kiya hota hai?
Java Strings are immutable – iska matlab ek baar string ban gayi to uske characters change nahi ho sakte. Let's understand with example.
Example:
String name = "Ronit";
name.concat(" Singh");
System.out.println(name); // Output: Ronit
concat()
: Ye java String ka ek method hai jo two strings ko concatenates kar deta hai.
concat()
ke baad bhi original string change nahi hoti.
4. Commonly Used String Methods
1. length()
Ye method String ki length ko determine karke return karta hai.
Example:
String s = "Hello";
System.out.println(s.length()); // 5
2. charAt(int index)
Ye method String ke kisi particular index ke character ko access karne ke liye use hota hai. Isme hame index value pass karni hoti hai aur ye method us index value ke character ka access deta hai.
Example:
System.out.println(s.charAt(1)); // 'e'
3. substring(int start, int end)
Is method ka use hum string ke ek particular hissa (part) ko nikalne ke liye karte hain. Isi part ko substring kehte hai. Ye method argument mein two parameters leta hai first for starting and second for ending.
System.out.println(s.substring(1, 4)); // "ell"
4. contains(String str)
Ye method boolean value return karta hai jo ya to true ya false hogi. Ye method argument mein ek parameter expect karta hai jo ek a substring ho sakti hai jo bhi hame check karni hai kiya ye substring is String mein exists karti hai ya nhi, agar exists karti hai to ye true return karega otherwise false return kar dega.
System.out.println(s.contains("ll")); // true
5. equals()
vs ==
Yaha ek tricky cheez ye hai ki agar ham kisi aur programming language mein "==" ka matlab hota hai ki given values equals hai ya nhi for example "Java" == "Java" ye true return karega lekin ye cheez java mein nhi hoti hai agar ham ye operation java mein perform karenge to ye Strings ke addresses ko compare karega, obviously ye hamesha different hi honge to isliye ham java mein String ki equality ko check karne ke liye equals() method use karte hai.
String a = "Java";
String b = new String("Java");
System.out.println(a == b); // false (address compare)
System.out.println(a.equals(b)); // true (value compare)
6. toUpperCase()
/ toLowerCase()
In dono methods ka use String case ko change karne ke liye hota hai. toUpperCase() method String ko UpperCase mein change karta hai aur toLowerCase() method String ko LowerCase mein change karta hai.
System.out.println("java".toUpperCase()); // JAVA
System.out.println("JAVA".toLowerCase()); // java
7. replace()
Is method ke naam se hi pata chalta hai ki ye method kuch replace karne ke liye use hota hai. So ye method argument mein two parameters expect karta hai. First for wo character jise replace karna hai aur second for jisse replace karna hai.
System.out.println("apple".replace('p', 'b')); // "abble"
8. Concatenation (Jodna)
String a = "Hello";
String b = "World";
String c = a + " " + b;
System.out.println(c); // Hello World
9. Convert String to Char Array
String str = "Java";
char[] arr = str.toCharArray();
for(char ch : arr){
System.out.println(ch);
}
10. Split String
String line = "Hello-World-Java";
String[] words = line.split("-");
for(String word : words){
System.out.println(word);
}
Check Palindrome (Important Program)
public class PalindromeCheck {
public static void main(String[] args) {
String str = "madam";
String reverse = "";
for(int i = str.length() - 1; i >= 0; i--) {
reverse += str.charAt(i);
}
if(str.equals(reverse)) {
System.out.println("Palindrome");
} else {
System.out.println("Not Palindrome");
}
}
}
Output:
Pelindrome
StringBuilder vs String
Java mein StringBuilder ek class hai jo mutable sequence of characters (Strings) provide karta hai. StringBuilder class se banayi hui String ke object ko ham manipulate kar sakte hai without creating new String object jo normal String class mein nhi hota hai. Agar aapko mutable string chahiye to StringBuilder use karo.
StringBuilder sb = new StringBuilder("Hello");
sb.append(" Java");
System.out.println(sb); // Hello Java
StringBuilder mutable and fast hota hai.
String Operations
public class StringOperations {
public static void main(String[] args) {
String name = "Kabir Khan";
System.out.println("Length: " + name.length());
System.out.println("Char at 2: " + name.charAt(2));
System.out.println("Upper Case: " + name.toUpperCase());
System.out.println("Contains 'Ansari'? " + name.contains("Khan"));
System.out.println("Index of 'i': " + name.indexOf('i'));
System.out.println("Substring: " + name.substring(0, 5));
}
}
Output:
Length: 10
Char at 2: b
Upper Case: KABIR KHAN
Contains 'Khan'? true
Index of 'i': 3
Substring: Kabir
Important Points
1. String vs StringBuilder?
- String: Immutable, slower with many modifications.
- StringBuilder: Mutable, faster.
2. How to compare strings properly?
- Use
.equals()
not==
.
Comments