String s1 = "str" ؛في هذه الحالة، فإنه يرجع false.
سلسلة s2 = "str" ؛
if (s1.equals (s2))
System.out.println ("كلتا السلسلتين متساوي") ؛
< / pre>equals () حساس لحالة الأحرف (أحرف صغيرة أو كبيرة):
< pre class = "prettyprint lang-java" > String s1 = "str" ؛
سلسلة s2 = "STR" ؛
if (s1.equals (s2))
System.out.println ("كلتا السلسلتين متساوي") ؛
String s1 = "str" ؛
سلسلة s2 = "STR" ؛
if(s1.equalsIgnoreCase(s2))
System.out.println("الحساسية للحالة التي تم تجاهلها. السلسلتان متساويتان")؛ < / pre>مقارنة الحجم< / h2 >< / div>
تحتوي فئة السلسلة على طريقة length () التي ترجع طول السلسلة:
< / div>if ("string1" .length () == "string2" .length ())
System.out.println ("string1 و string2 متساويان في الحجم") ؛
else if ("string1".length ()>" string2 ".length ()))
System.out.println ("string1 أطول") ؛
else
System.out.println ("string2 أطول") ؛ < / pre>< / div>ما الفرق بين يساوي و "=="< / h2>< / div>
اختبارات طريقة equals() للمساواة في القيم.new String("test").equals(new String("test"));//--> trueيختبر عامل التشغيل "==" المساواة بين الكائنات ، وإليك سلسلة من الأخطاء التي يجب تجنبها:
< pre class = "prettyprint lang-java" > String s1 = "trial" ؛
السلسلة s2 = "محاكمة" ؛
/ / هم نفس الكائن
s1 == s2 ؛ --> false
//أنها ليست نفس الكائن
s1 == "اختبار"; --> false
// يشيرون إلى نفس الكائن
"test" == "test" ؛ --> صحيح < br / >< br / > / / يعتبر التسلسل ككائن واحد < br / > "اختبار" == "الخاص بك" + "t" ؛ --> True
//طريقة substring() ينشئ كائنا جديدا
"test" == "1test".substring(1); --> false
//طريقة replace() يولد كائنا جديدا
"test" == "Test".replace("T"، "t"); --> false
ترجع السلسلة true لأنه يتم استدعاؤها أثناء التحويل البرمجي ، على عكس substring() و replace() التي يتم استدعاؤها في وقت التشغيل وسيتم إنشاء كائن جديد لا يساوي الجانب الآخر من المعادلة.
Please disable your ad blocker and refresh the window to use this website.