All java String methods explaination in hindi
String क्लास built in methods का एक सेट होता है जिसे आप String पर उपयोग कर सकते है |
charAt()
public class stringmethod {
public static void main(String[] args) {
String a = "Hi";
System.out.print(a.charAt(0));
}
}
ऊपर दिए गये प्रोग्राम में स्ट्रिंग के रूप में दी गई value का पहला अक्षर प्रिंट होगा |
Syntax:
public char charAt(int index)
- charAt() मेथड दिए गए index कि वैल्यू को स्ट्रिंग में से लौटाता है
- ध्यान दे कि स्ट्रिंग के पहले अक्षर का इंडेक्स 0 होता है , दिये गए उदाहरण में "Hi" H प्रिंट में प्राप्त होगा |
- यदि इंडेक्स नेगेटिव या दी गई स्ट्रिंग की लम्बाई अर्थात करैक्टर की संख्या से कम होगा तो यह IndexOutOfBoundException throws करेगा
- return type char होगा
codePointAt()
public class stringmethods {
public static void main(String[] args) {
String a = "Hi";
System.out.print(a.codePointAt(0));
}
}
- यह दिए गये index value के अनुसार करैक्टर का यूनिकोड return करता है
- जैसे इस उदाहरण में "Hi" string के लिए दी गई index value 0 है अतः index 0 पर H स्थित होने के कारण H की unicode 72 return होगा |
- इसमें भी यदि इंडेक्स नेगेटिव या दी गई स्ट्रिंग की लम्बाई अर्थात करैक्टर की संख्या से कम होगा तो यह IndexOutOfBoundException throws करेगा
- return type int होगा
codePointBefore()
public class stringmethods {
public static void main(String[] args) {
String a = "Hi";
System.out.print(a.codePointBefore(1));
}
}
- यह लगभग codePointAt() method के सामान ही है लेकिन जैसे codePointAt() method में 0 लिखने पर सबसे पहले कैरक्टर को लेता था लेकिन codePointBefore() method 0 पर error दे देगा |
- Error इस लिए आती है क्योकि codePointBefore() method जो index value दी जाती है उससे एक कम index वैल्यू के करैक्टर को प्रिंट करता है
- जिसके कारण अगर हम 0 वैल्यू देते है तो उससे एक कम नेगेटिव हो जायेगा इसलिए इसको ऐसे समझे की इसकी इंडेक्सिंग 1 से शुरू होती है अगर आप 1 index देते है तो यह codePointAt() method के 0 index की तरह कराया करेगा जो की आप समझ ही चुके है |
- codePointBefore() method भी int value return करेगा जो कि 1 इंडेक्स(H) के लिए 72 होगा
codePointCount()
public class stringmethods {
public static void main(String[] args) {
String a = "java";
System.out.print(a.codePointCount(0,4));
}
}
- String में पाए जाने वाले unicode values की संख्या return करता है
- startIndex और endIndex का प्रयोग करना पड़ता है ये बताने के लिए कहाँ से सर्च प्रारंभ करना है और कहा पर समाप्त करता है |
- दिए गये उदाहरण का startIndex और endIndex क्रमशः 0 व 4 है अर्थात यूनिकोड वैल्यूज की संख्या 4 होगी |
- ध्यान दे कि startIndex और endIndex value , unicode value से ऊपर के अन्य मेथड की तरह कम या ज्यादा देंगे तो error generate होगी |
compareTo()
public class stringmethods {
public static void main(String[] args) {
String a = "java";
String b="java";
System.out.print(a.compareTo(b));
}
}
- compareTo() method दो स्ट्रिंग को lexicographically compare करता है|
- Comparison string के character की यूनिकोड value के आधार पर होता है |
- जहाँ तक unicode वैल्यू की बात है तो
a की unicode value 97 b की 98 ... z की 122 होती है
A की unicode वैल्यू 65 होती है B की 66 ... Z की 90 होती है
1 की यूनिकोड वैल्यू 49 और 2 की 50 ..... 9 की 57 होती है - यदि एक string अन्य string के बराबर है तो compareTo() method 0 return करेगा |
- यदि एक string अन्य string से छोटी है तो compareTo() method 0 से कम अर्थात negative value return करेगा |
- यदि एक string अन्य string से बड़ी है तो compareTo() method 0 से ज्यादा अर्थात positive value return करेगा |
- ध्यान दें कि यदि a.compareTo(b) है तो a का b में घटाना होगा और यदि b.compareTo(a) है तो b का a में घटाना होगा
- पहले स्ट्रिंग(ba) small or capital के लिए ) में से जैसे ही अलग(Ba क्रमशः capital or small में ) दूसरा करैक्टर मिलेगा तो पहले स्ट्रिंग के करैक्टर का यूनिकोड और दूसरा उससे भिन्न पहले कैरक्टर का यूनिकोड का subtraction(हाँ भाई सिंपल घटाना b-B) return मिलेगा | लेकिन अगर पहले स्ट्रिंग (Bba) का पहला करैक्टर दूसरा स्ट्रिंग (Bab) के पहले कैरक्टर के सामान है तो यूनिकोड का subtraction b और a के बीच होगा जोकि A-Z और 1-9(इसमें समस्या नही होगी )) पर भी लागू होगा
-
जोकि इस प्रकार होगा point 3 के अनुसार a.compareTo(b) के लिए :
a=bbb;
b=aaa;
तो 1 आएगा return
a=bbb;
b=abc;
तो भी 1 आएगा return
a=bbb;
b=aac;
तो भी 1 आएगा return
a=bbb;
b=bac;
तो भी 1 आएगा return क्योकि b का a से माइनस होगा 98-97
a=bbb;
b=bbc;
तो -1 आएगा return 98-99
a=ccc;
b=cca;
तो 2 आएगा return 99-97
a=Abc;
b=987;
तो 8 आएगा return 65-57
a=Bba;
b=Bab;
तो 1 आएगा return 65-57
- a.compareTo(b) के लिए point 9 के सभी उदाहरण नेगेटिव वैल्यू return करेंगे
- और exception वही होगी जो ऊपर सभी का है
comparaToIgnoreCase()
public class stringmethods {
public static void main(String[] args) {
String a = "Bc";
String b="ba";
System.out.print(a.compareToIgnoreCase(b));
}
}
- compareToIgnoreCase() method का पूरा कांसेप्ट compareTo() के लगभग सामान ही है |
- अंतर कुछ है तो वो ये है कि compareToIgnoreCase() के लिए A-Z , a-z बन जाता है दूसरे शब्दों में कहें तो uppercase lowercase में कन्वर्ट हो जाता है automattically| जिससे Comparison a-z का a-z से और a-z का 1-9 से होता है
- इसलिए A और a सामान होंगे इसलिए subtraction केवल और केवल अलग कैरक्टर या a-z से 1-9 के बीच पहले difference से होगा |
concat()
public class stringmethods {
public static void main(String[] args) {
String a = "MY";
String b = "WORLD";
System.out.print(a.concat(b).concat(a));
/*
System.out.print(a.concat(b).concat(a));
output:MYWORLDMY
*/
}
}
concat() method एक स्ट्रिंग के अंत में दूसरे स्ट्रिंग को जोड़ appends देता है | अगर एक से ज्यादा concat() methods प्रयोग करेंगे तो क्रमशः स्ट्रिंग जुडती जाती है एक के पीछे एक
contains()
public class stringmethods {
public static void main(String[] args) {
String a = "WORLD";
System.out.print(a.contains("R"));//true
System.out.print(a.contains("r"));//false
System.out.print(a.contains("DLROW"));//false
System.out.print(a.contains("OR"));//true
}
}
- contains() methods check करता है कि character का sequence string में शामिल है कि नही
- character का sequence contains() methods पैरामीटर में स्ट्रिंग का चाहे एक character हो या एक से ज्यादा हो या सारे हो true return मिलेगा
- लेकिन अगर agar sequence में character नही हो या जो कैरक्टर स्ट्रिंग में न हो वो हो या स्ट्रिंग capital में हो और method में पैरामीटर small में देंगे तो false return मिलेगा
- contains() method - NullPointerException return करता है
contentEquals()
public class stringmethods {
public static void main(String[] args) {
String a = "WORLD";
System.out.print(a.contentEquals("WORLD"));//true
System.out.print(a.contentEquals("W"));//false
System.out.print(a.contentEquals("o"));//false
System.out.print(a.contentEquals("world"));//false
}
}
- contentEquals() method capital letter(A-Z) , small letter(a-z), numbers(1-9) को string से exactly match होने पर true return करता है
- ध्यान दे ये contains() method की तरह ही है लेकिन contentEquals() method और contains() method में अन्तर यह है कि contains() method किसी single कैरक्टर को भी स्ट्रिंग से सामान होने पर true return करता था लेकिन contentEquals() method पूरी स्ट्रिंग और सामान होने पर ही true return करता है
- contentEquals() method दो होते है:
public boolean contentEquals(StringBuffer char) public boolean contentEquals(CharSequence char)
copyValueOf()
public class stringmethods {
public static void main(String[] args) {
char[] a = { 'W', 'O', 'R', 'L', 'D' };
String b = "";
b = b.copyValueOf(a, 0, 5);
System.out.print(b);
}
}
- copyValueOf() method , string return करता है , जो कि char array के character को प्रदर्शित करता है
- यह मेथड char array से character को copy करके String return करता है
- इसका syntax: b.copyValueOf(char[] data, int offset, int count)
होता है
- b = b.copyValueOf(a, 0, 5); इस उदाहरण में b जिसमे array का data copy होगा | a वह array है जिसका डाटा copy होगा , 0 array का पहला character है जहाँ से string को कॉपी करना स्टार्ट करना है | 5, array के 0 index से 5वां नंबर का करैक्टर होगा जहाँ तक array को कॉपी करना है अर्थात 5 length है |
- लेकिन ध्यान दें अगर आप आप 0 के स्थान पर 1 प्रयोग करते है तो 5 के स्थान पर आपको 4 करना पड़ेगा नही तो एरर आ जाएगी वो इसलिए क्योकि 1, WORLD array के O का इंडेक्स होगा और 5 D के बाद का इंडेक्स होगा | क्योकि स्ट्रिंग 5(length) तक कि काउंटिंग सेकंड करैक्टर से शुरू होकर पांच कैरक्टर तक बाद के लिए होगी जो कि WORLD array में नही मिलेगा |
- यदि offset negative या पहुँच के बाहर हो या यदि count char array के length से ज्यादा हो या नेगटिव होतो StringIndexOutOfBoundsException throws करेगा
endWith()
public class stringmethods {
public static void main(String[] args) {
String a = "WORLD";
System.out.print(a.endsWith("WORL"));//false
System.out.print(a.endsWith("RLD"));//true
System.out.print(a.endsWith("D"));//true
System.out.print(a.endsWith("d"));//false
System.out.print(a.endsWith("L"));//false
System.out.print(a.endsWith(""));//true
}
}
- इसके पैरामीटर में स्ट्रिंग का suffix होता है
- यह boolean(true या false) retrun करता है
- suffix मतलब अगर सरल शब्दों में कहे तो parameter में , string का ऐसा कोई character या character का समूह जो चाहे एक हो या एक से ज्यादा हो पीछे से बिना किसी कैरक्टर gap के होना होना चाहिए| true return करेगा अन्यथा जिसमे स्ट्रिंग का आगे का(preffix) कैरक्टर हो लेकिन पीछे का कम से कम चाहे एक ही क्यो न हो | न होगा तो false retrun करेगा | अगर सभी कैरक्टर रहेंगे तो true return करेगा |
- अगर स्ट्रिंग CAPITAL या small letter में है तो parameter भी CAPITAL या small देने पर true return होगा नही तो अगर स्ट्रिंग CAPITAL या small letter में है और parameter क्रमशः small या capital letter में देने पर false return करेगा
- अगर parameter empty है अर्थात कोई वैल्यू नही दी गई हो तो भी true return करेगा | क्योकि उसमे कोई preffix character नही होगा
equals()
public class stringmethods {
public static void main(String[] args) {
String a = "WORLD";
String b = "WORLD";
String c= "world";
String d= "WORL";
String e="";
String f="";
System.out.print(a.equals(c));//false
System.out.print(a.equals(b));//true
System.out.print(a.equals(d));//false
System.out.print(e.equals(f));//false
}
}
- यह boolean(true या false) retrun करता है
- पहली स्ट्रिंग अगर CAPITAL या small letter में है तो दूसरी string भी CAPITAL या small letter होने पर true return होगा नही तो अगर पहली स्ट्रिंग CAPITAL या small letter में है और दूसरी string क्रमशः small या capital letter है तो false return करेगा
- पहली स्ट्रिंग और दूसरी string का क्रम भी समान होना चाहिए अन्यथा false return करेगा |
- दोनों string अगर empty है तो true return करेगा
0 टिप्पणियाँ
आपके सुझाव सादर आमंत्रित है