በጃቫ ውስጥ ሕብረቁምፊዎችን እንዴት ማወዳደር እንደሚቻል

ሕብረቁምፊዎችን ለእኩልነት ለማነፃፀር የ String object’s equals ን መጠቀም አለብዎት ወይም equalsIgnoreCase ዘዴዎች. እንዲሁም == ለምን መጠቀም እንደሌለብን እናያለን ገመድ ለማነፃፀር ኦፕሬተር



ሕብረቁምፊዎችን ከእኩል () ዘዴ ጋር ማወዳደር

በጃቫ ውስጥ ሁለት ሕብረቁምፊዎችን ማወዳደር ካስፈለግን እንዲሁም የምንጠቀምባቸውን የሕብረቁምፊዎች መያዣዎች የምንመለከት ከሆነ equals() ዘዴ.

ለምሳሌ ፣ የሚከተሉት ቅንጥቦች “ማሰሪያ” ን ጨምሮ በሁለቱም ገጸ-ባህሪዎች ላይ እኩል መሆን አለመሆኑን ይወስናል ፡፡


public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = 'Test123';
String secondString = 'Test' + 123;
String thirdString = 'TEST123';

if (firstString.equals(secondString)) {

System.out.println('first and second strings are equal');
}

if (firstString.equals(thirdString)) {

System.out.println('first and third string are equal');
}
} }

ውጤት

first and second strings are equal ማስታወሻ:ሁለተኛው የህትመት መግለጫ የ ‹firstString› እና የ ‹ሶስተኛ ስትሪንግ› መያዣው ስለማይዛመድ አይተገበርም ፡፡

ሕብረቁምፊዎችን ከእኩል ጋር ማወዳደርIgnoreCase () ዘዴ

በጃቫ ውስጥ ሁለት ሕብረቁምፊዎችን ማወዳደር ካስፈለግን ግን የምንጠቀምባቸውን የሕብረቁምፊዎች መያዣ ግድ የለንም equalsIgnoreCase() ዘዴ.


ለምሳሌ ፣ ከላይ ባለው ኮድ ቅንጥስ ውስጥ እኛ ከተተካ .equals().equalsIgnoreCase() ዘዴ ፣ ከዚያ ሁለቱም የሕትመት መግለጫዎች ይገደላሉ-



public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = 'Test123';
String secondString = 'Test' + 123;
String thirdString = 'TEST123';

if (firstString.equalsIgnoreCase(secondString)) {

System.out.println('first and second strings are equal');
}

if (firstString.equalsIgnoreCase(thirdString)) {

System.out.println('first and third string are equal');
}
} }

ውጤት

first and second strings are equal
first and third string are equal

ተዛማጅ:



ሕብረቁምፊዎችን ለማወዳደር የ == ኦፕሬተርን አይጠቀሙ

ማስታወሻ:በጃቫ ውስጥ ሁለት ሕብረቁምፊዎችን ሲያነፃፅሩ መጠቀም የለብንም == ወይም ! = ኦፕሬተሮች

እነዚህ ኦፕሬተሮች በእውነቱ ማጣቀሻዎችን ይሞክራሉ ፣ እና በርካታ የ ‹ስትሪንግ› ዕቃዎች አንድ አይነት ገመድ ሊወክሉ ስለሚችሉ ፣ ይህ የተሳሳተ መልስ የመስጠት ሃላፊነት አለበት ፡፡


በምትኩ | String.equals(Object) ይጠቀሙ ዘዴው ፣ በእሴቶቻቸው ላይ በመመርኮዝ የክርን ነገሮችን ያነፃፅራል።

public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = 'Test123';
String secondString = 'Test123';
String thirdString = new String('Test123');

if (firstString == secondString) {

System.out.println('first and second strings are equal');
}

if (firstString == thirdString) {

System.out.println('first and third strings are equal');
}
} }

ውጤት

first and second strings are equal ማስታወሻ:ሁለተኛው የህትመት መግለጫ አይተገበርም ፡፡

ሕብረቁምፊዎችን ከቋሚ ዋጋዎች ጋር ማወዳደር

ገመድ ከቋሚ እሴት ጋር ሲያወዳድሩ አንድ NullPointerException እንዳያገኙ ለማረጋገጥ በእኩልዎች ግራው ላይ ያለውን ቋሚ እሴት ማስቀመጥ ይችላሉ። ሌላኛው ገመድ ከንቱ ከሆነ ፡፡

ለምሳሌ:


'baz'.equals(foo)

እያለ foo.equals('baz') አንድ NullPointerException ይጥላል foo ከንቱ ከሆነ ፣ 'baz'.equals(foo) እስከ false ይገመግማል።

ይበልጥ ሊነበብ የሚችል አማራጭ Objects.equals() ን መጠቀም ነው ፣ ይህም በሁለቱም መለኪያዎች ላይ ባዶ ምርመራ ያደርጋል

ለምሳሌ Objects.equals(foo, 'baz').



በማብሪያ መግለጫ ውስጥ ሕብረቁምፊዎችን ማወዳደር

ከጃቫ 1.7 ጀምሮ በመለወጫ መግለጫ ውስጥ የ ‹ስትሪንግ› ን ከቃል በቃል ማወዳደር ይቻላል ፡፡ ሕብረቁምፊው ከንቱ አለመሆኑን ያረጋግጡ ፣ አለበለዚያ ሁልጊዜ አንድ _ _ + _ | ይጥላል። ዋጋዎች NullPointerException ን በመጠቀም ፣ ማለትም ለጉዳዩ ተጋላጭነትን በመጠቀም ይነፃፀራሉ።


String.equals

ማጠቃለያ

በጃቫ ውስጥ ያሉትን ክሮች ከኮድ ምሳሌዎች ጋር እንዴት ማወዳደር እንደሚቻል በዚህ ጽሑፍ ውስጥ ገለፃ አድርገናል ፡፡ የሕብረቁምፊዎቹ መያዣ ጉዳይ አስፈላጊ በሚሆንበት ጊዜ public class CompareTwoStrings {
public static void main(String[] args) {
String stringToSwitch = 'A';


switch (stringToSwitch) {

case 'a':


System.out.println('a');


break;




case 'A':


System.out.println('A'); //the code goes here


break;




case 'B':


System.out.println('B');


break;




default:


break;
}
} }
መጠቀም አለብን እና መያዣ አስፈላጊ በማይሆንበት ጊዜ እኛ መጠቀም አለብን _ _ + _ |.

በተጨማሪም ፣ እኛ _ _ + _ | መጠቀም የለብንም እንደ .equals() ሆኖ ሕብረቁምፊዎችን ለማወዳደር ኦፕሬተር ኦፕሬተር ዋቢውን ይፈትሻል እንጂ እሴቱን አይደለም ፡፡