एंड्रॉइड में equals() मेथड से केस-सेंसिटिव स्ट्रिंग तुलना
यह ट्यूटोरियल दर्शाता है कि equals() मेथड का उपयोग करके दो स्ट्रिंग्स की सटीक तुलना कैसे करें (केस-सेंसिटिव)।
चरण 1: प्रोजेक्ट बनाएं
एंड्रॉइड स्टूडियो में नया Empty Activity प्रोजेक्ट बनाएं।
चरण 2: लेआउट (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="24dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/inputText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="टेक्स्ट दर्ज करें"
android:inputType="text"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/compareButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="'point' से तुलना करें (केस-सेंसिटिव)"
android:layout_marginBottom="16dp"/>
<TextView
android:id="@+id/resultText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:textStyle="bold"
android:padding="16dp"
android:background="#FFF3E0"/>
</LinearLayout>
चरण 3: एक्टिविटी कोड (src/MainActivity.java)
package com.example.equalsdemo;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText inputText;
private Button compareButton;
private TextView resultText;
private static final String TARGET = "point";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inputText = findViewById(R.id.inputText);
compareButton = findViewById(R.id.compareButton);
resultText = findViewById(R.id.resultText);
compareButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input = inputText.getText().toString().trim();
if (input.isEmpty()) {
inputText.setError("कृपया टेक्स्ट दर्ज करें");
inputText.requestFocus();
return;
}
// equals() - सटीक केस-सेंसिटिव तुलना
boolean matches = input.equals(TARGET);
String message = matches
? "✓ सटीक मेल (true)"
: "✗ मेल नहीं (false) - केस या कंटेंट अलग है";
resultText.setText(message);
resultText.setTextColor(matches ? 0xFF4CAF50 : 0xFFF44336);
}
});
}
}
equals() मेथड विवरण
- उद्देश्य: दो स्ट्रिंग ऑब्जेक्ट्स की सामग्री की तुलना करता है
- केस-सेंसिटिव: हां - "Point" ≠ "point"
- रिटर्न:
trueयदि दोनों स्ट्रिंग्स में समान कैरेक्टर्स समान क्रम में हों - नल सुरक्षा:
"point".equals(input)नल-सेफ है,input.equals("point")NPE फेंक सकता है
उदाहरण परिणाम
| इनपुट | परिणाम | कारण |
|---|---|---|
"point" | true | सटीक मेल |
"POINT" | false | केस अलग |
"Point" | false | केस अलग |
"point " | false | ट्रेलिंग स्पेस |
"pointer" | false | अतिरिक्त कैरेक्टर्स |
सर्वोत्तम अभ्यास
// ✓ अनुशंसित - नल-सेफ
if ("point".equals(userInput)) { ... }
// ✗ टालें - NPE संभव
if (userInput.equals("point")) { ... }
// जावा 7+ के लिए Objects.equals() भी नल-सेफ
if (Objects.equals(userInput, "point")) { ... }
equals() vs == ऑपरेटर
==रेफरेंस तुलना करता है (मेमोरी एड्रेस)equals()कंटेंट तुलना करता है (वास्तविक स्ट्रिंग मान)- स्ट्रिंग पूल के कारण कभी-कभी
==काम करता हुआ लगता है, लेकिन भरोसेमंद नहीं
चरण 4: टेस्ट करें
- ऐप चलाएं
- सटीक "point" (लोअरकेस) दर्ज करें → true
- "POINT", "Point", "point " → false

