دوال المقارنة الموجودة في الكلاس String
إسم الدالة مع تعريفها | |
---|---|
public boolean startsWith(String prefix) تستخدم لمعرفة ما إذا كان الـ String الذي قام باستدعائها يبدأ بنص معين أم لا.إذا كانت قيمة الباراميتر prefix موجودة في بدايته ترجع true , غير ذلك ترجع false .شاهد المثال » | |
public boolean endsWith(String suffix) تستخدم لمعرفة ما إذا كان الـ String الذي قام باستدعائها ينتهي بنص معين أم لا.إذا كانت قيمة الباراميتر prefix موجودة في نهايته ترجع true , غير ذلك ترجع false .شاهد المثال » | |
public boolean equals(Object anObject) تقارن قيمة الـ String الذي قام باستدعائها مع قيمة أي كائن نمرره لها مكان الباراميتر anObject .ترجع true في حال كانت جميع أحرفهم متطابقة, غير ذلك ترجع false .شاهد المثال » | |
public boolean equalsIgnoreCase(String str) تقارن قيمة الـ String الذي قام باستدعائها مع قيمة الـ String الذي نمرره لها مكان الباراميتر str .ترجع true في حال كانت جميع أحرفهم متطابقة و لا يهمها إذا كانت الأحرف كبير أو صغيرة, غير ذلك ترجع false .شاهد المثال » | |
public boolean contentEquals(StringBuffer sb) تقارن قيمة الـ String الذي قام باستدعائها مع قيمة كائن الـ StringBuffer الذي نمرره لها مكان الباراميتر sb .ترجع true في حال كانت جميع أحرفهم متطابقة, غير ذلك ترجع false .شاهد المثال » | |
public int compareTo(String anotherString) تقارن قيمة الـ String الذي قام باستدعائها مع قيمة الـ String الذي نمرره لها مكان الباراميتر anotherString .ترجع 0 في حال كانت جميع أحرفهم متساوية. و ترجع قيمة أكبر أو أصغر من 0 تمثل الفارق بين كود الـ ASCII الخاص بأول حرف مختلف تم إيجاده بينهما. شاهد المثال » | |
public int compareToIgnoreCase(String anotherString) تقارن قيمة الـ String الذي قام باستدعائها مع قيمة الـ String الذي نمرره لها مكان الباراميتر anotherString و لا يهمها إذا كانت الأحرف كبير أو صغيرة.ترجع 0 في حال كانت جميع أحرفهم متساوية. و ترجع قيمة أكبر أو أصغر من 0 تمثل الفارق بين كود الـ ASCII الخاص بأول حرف مختلف تم إيجاده بينهما. شاهد المثال » | |
public boolean matches(String regex) تقارن قيمة الـ String الذي قام باستدعائها مع التعبير النمطي الذي نمرره لها مكان الباراميتر regex .ترجع true في حال كانت جميع أحرفهم متطابقة, غير ذلك ترجع false .شاهد المثال » | |
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) تقارن جزء محدد في الـ String الذي قام باستدعائها مع جزء محدد في الـ String الذي نمرره لها مكان الباراميتر other .ترجع true في حال كانت جميع أحرفهم متطابقة, غير ذلك ترجع false .شاهد المثال » |
الدالة startsWith()
تعريفها
تستخدم لمعرفة ما إذا كان الـ String
الذي قام باستدعائها يبدأ بنص معين أم لا.
إذا كانت قيمة الباراميتر prefix
موجودة في بدايته ترجع true
, غير ذلك ترجع false
.
عند إستدعاء هذه الدالة عندنا خيارين:
عدم تحديد من أين تبدأ, و في هذه الحالة ستبدأ من أول حرف في الـ
String
الذي قام باستدعائها.تحديد من أين تبدأ.
بناؤها
هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.
// الشكل الأول public boolean startsWith(String prefix) // الشكل الثاني public boolean startsWith(String prefix, int toffset)
باراميترات
مكان البارميتر
prefix
نمرر الـ substring الذي نريد معرفة ما إذا كان موجوداً في بداية الـString
أم لا.مكان البارميتر
toffset
نمرر الـ index الذي ستبدأ عملية الإختبار من عنده.
قيمة الإرجاع
ترجع true
إذا كانت القيمة التي مررناها مكان الباراميتر toffset
موجودة في بداية النص, أو في المكان الذي قمنا بتحديد بدأ عملية البحث عنده.
ترجع true
أيضاً في حال قمنا باختبار قيمة فارغة.
غير ذلك ترجع false
.
مثال
public class Main { public static void main(String[] args) { String str = "welcome to harmash.com"; System.out.println( str.startsWith("welcome to") ); // str لأنها موجودة في بداية النص true سترجع System.out.println( str.startsWith("welc") ); // str لأنها موجودة في بداية النص true سترجع System.out.println( str.startsWith("harmash") ); // str لأنها ليست موجودة في بداية النص false سترجع System.out.println( str.startsWith("harmash", 11) ); // str رقم 11 في النص index لأنها موجودة في بداية الـ true سترجع System.out.println( str.startsWith("") ); // لأننا نختبر قيمة فارغة true سترجع } }
•سنحصل على النتيجة التالية عند التشغيل.
true true false true true
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة endsWith()
تعريفها
تستخدم لمعرفة ما إذا كان الـ String
الذي قام باستدعائها ينتهي بنص معين أم لا.
إذا كانت قيمة الباراميتر prefix
موجودة في نهايته ترجع true
, غير ذلك ترجع false
.
بناؤها
public boolean endsWith(String suffix)
باراميترات
مكان الباراميتر
suffix
نمرر الـ substring الذي نريد معرفة ما إذا كان موجوداً في نهاية الـString
أم لا.
قيمة الإرجاع
ترجع true
إذا كانت القيمة التي نختبرها موجودة في نهاية النص.
و ترجع true
أيضاً في حال قمنا باختبار قيمة فارغة.
غير ذلك ترجع false
.
مثال
public class Main { public static void main(String[] args) { String str = "welcome to harmash.com"; System.out.println( str.endsWith("harmash.com") ); // str لأنها موجودة في نهاية النص true سترجع System.out.println( str.endsWith("harmash") ); // str لأنها ليست موجودة في نهاية النص false سترجع System.out.println( str.endsWith("") ); // لأننا نختبر قيمة فارغة true سترجع } }
•سنحصل على النتيجة التالية عند التشغيل.
true false true
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة equals()
تعريفها
تقارن قيمة الـ String
الذي قام باستدعائها مع قيمة أي كائن نمرره لها مكان الباراميتر anObject
.
ترجع true
في حال كانت جميع أحرفهم متطابقة و لا تساوي الكلمة null
, غير ذلك ترجع false
.
بناؤها
public boolean equals(Object anObject)
باراميترات
مكان الباراميتر
anObject
نمرر الكائن الذي نريد مقارنته مع الـString
.
قيمة الإرجاع
ترجع
true
في حال كانت قيمة الكائن الذي نمرره مكان الباراميترanObject
تساوي الـString
الذي قام باستدعائها.ترجع
false
في حال كانت قيمة الكائن الذي نمرره مكان الباراميترanObject
لا تساوي قيمة الـString
الذي قام باستدعائها.
مثال
public class Main { public static void main(String[] args) { String s1 = "hello my name is Mhamad"; String s2 = s1; String s3 = "at 20 years old, i made harmash.com"; System.out.println( s1.equals(s2) ); // s2 تساوي قيمة s1 لأن قيمة true هنا سترجع System.out.println( s1.equals(s3) ); // s3 لا تساوي قيمة s1 لأن قيمة false هنا سترجع } }
•سنحصل على النتيجة التالية عند التشغيل.
true false
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة equalsIgnoreCase()
تعريفها
تقارن قيمة الـ String
الذي قام باستدعائها مع قيمة الـ String
الذي نمرره لها مكان الباراميتر str
.
ترجع true
في حال كانت جميع أحرفهم متطابقة و لا يهمها إذا كانت الأحرف كبير أو صغيرة, غير ذلك ترجع false
.
بناؤها
public boolean equalsIgnoreCase(String anotherString)
باراميترات
مكان الباراميتر
anotherString
نمرر الـString
الذي نريد مقارنته مع الـString
الذي قام باستدعاء الدالة.
قيمة الإرجاع
ترجع
true
في حال كانت قيمة الـString
الذي نمرره مكان الباراميترanotherString
تساوي قيمة الـString
الذي قام باستدعائها.ترجع
false
في حال كانت قيمة الـString
الذي نمرره مكان الباراميترanotherString
لا تساوي قيمة الـString
الذي قام باستدعائها.
مثال
public class Main { public static void main(String[] args) { String s1 = "hello my name is Mhamad"; String s2 = "HELLO MY NAME IS MHAMAD"; String s3 = s2; // لأنه لا يهمها إذا كان يوجد إختلاف في حجم الأحرف طالما أن الأحرف التي تم مقارنتها هي نفسها true هنا سترجع System.out.println( s1.equalsIgnoreCase(s2) ); // s3 تساوي تماماً قيمة s2 لأن قيمة true هنا سترجع System.out.println( s2.equalsIgnoreCase(s3) ); } }
•سنحصل على النتيجة التالية عند التشغيل.
true true
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة contentEquals()
تعريفها
تقارن قيمة الـ String
الذي قام باستدعائها مع قيمة كائن الـ StringBuffer
الذي نمرره لها مكان الباراميتر sb
.
ترجع true
في حال كانت جميع أحرفهم متطابقة, غير ذلك ترجع false
.
بناؤها
public boolean contentEquals(StringBuffer sb)
باراميترات
مكان الباراميتر
sb
نمرر كائن الـStringBuffer
الذي نريد مقارنته مع الـString
.
قيمة الإرجاع
ترجع
true
في حال كانت قيمة الكائن الذي نمرره مكان الباراميترsb
تساوي قيمة الـString
الذي قام باستدعائها.ترجع
false
في حال كانت قيمة الكائن الذي نمرره مكان الباراميترsb
لا تساوي قيمة الـString
الذي قام باستدعائها.
مثال
public class Main { public static void main(String[] args) { String s = "welcome to harmash.com"; StringBuffer sb1 = new StringBuffer("welcome to harmash.com"); System.out.println( s.contentEquals(sb1) ); // sb1 تساوي قيمة s لأن قيمة true هنا سترجع StringBuffer sb2 = new StringBuffer("welcome to java world"); System.out.println( s.contentEquals(sb2) ); // sb2 لا تساوي قيمة s لأن قيمة false هنا سترجع } }
•سنحصل على النتيجة التالية عند التشغيل.
true false
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة compareTo()
تعريفها
تقارن قيمة الـ String
الذي قام باستدعائها مع قيمة أي كائن نمرره لها مكان الباراميتر anotherString
أو anObject
.
ترجع 0 في حال كانت جميع أحرفهم متساوية. و ترجع قيمة أكبر أو أصغر من 0 تمثل الفارق بين كود الـ ASCII الخاص بأول حرف مختلف تم إيجاده بينهما.
بناؤها
هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.
// الشكل الأول public int compareTo(Object anObject) // الشكل الثاني public int compareTo(String anotherString)
باراميترات
مكان الباراميتر
anObject
نمرر الكائن الذي ستتم مقارنته.مكان الباراميتر
anotherString
نمرر الـString
الذي ستتم مقارنته.
قيمة الإرجاع
ترجع 0 في حال كانت جميع أحرفهم متساوية.
ترجع قيمة أكبر أو أصغر من 0 تمثل الفارق بين كود الـ ASCII الخاص بأول حرف مختلف تم إيجاده بينهما.
مثال
public class Main { public static void main(String[] args) { // ASCII معلومة: في ترميز الـ // h = 104 H = 72 String s1 = "welcome to harmash.com, one of the best websites for learning"; String s2 = "welcome to Harmash.com, amazing website for programmers"; String s3 = s1; System.out.println( s1.compareTo(s2) ); // h - H = 104 - 72 = 32 System.out.println( s2.compareTo(s1) ); // h - H = 72 - 104 = -32 System.out.println( s1.compareTo(s3) ); // هنا سترجع 0 لأنه لا يوجد أي فارق بينهما } }
•سنحصل على النتيجة التالية عند التشغيل.
32 -32 0
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة compareToIgnoreCase()
تعريفها
تقارن قيمة الـ String
الذي قام باستدعائها مع قيمة الـ String
الذي نمرره لها مكان الباراميتر str
و لا يهمها إذا كانت الأحرف كبير أو صغيرة.
ترجع 0 في حال كانت جميع أحرفهم متساوية. و ترجع قيمة أكبر أو أصغر من 0 تمثل الفارق بين كود الـ ASCII الخاص بأول حرف مختلف تم إيجاده بينهما.
بناؤها
public int compareToIgnoreCase(String anotherString)
باراميترات
مكان الباراميتر
anotherString
نمرر الـString
الذي ستتم مقارنته.
قيمة الإرجاع
ترجع 0 في حال كانت جميع أحرفهم متساوية.
ترجع قيمة أكبر أو أصغر من 0 تمثل الفارق بين كود الـ ASCII الخاص بأول حرف مختلف تم إيجاده بينهما.
مثال
public class Main { public static void main(String[] args) { // ACII معلومة: في ترميز الـ // A = 65 a = 97 o = 111 // ملاحظة: أثناء مقارنتهم ستعتبر جميع الأحرف أحرف صغيرة // تساوي 97 Amazing الكبيرة في كلمة A لذلك ستعتبر الـ String s1 = "welcome to harmash.com, one of the best websites for learning"; String s2 = "Welcome To Harmash.com, Amazing Website For Programmers"; String s3 = s1; System.out.println( s1.compareToIgnoreCase(s2) ); // o - A = o - a = 111 - 97 = 14 System.out.println( s2.compareToIgnoreCase(s1) ); // A - o = a - o = 97 - 111 = 14 System.out.println( s1.compareToIgnoreCase(s3) ); // هنا سترجع 0 لأنه لا يوجد أي فارق بينهما } }
•سنحصل على النتيجة التالية عند التشغيل.
14 -14 0
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة matches()
تعريفها
تختبر قيمة الـ String
الذي قام باستدعائها لمعرفة ما إذا كان يطابق التعبير النمطي الذي نمرره لها مكان الباراميتر regex
.
ترجع true
في حال كان الـ String
الذي قام باستدعائها يطابق التعبير النمطي, غير ذلك ترجع false
.
بناؤها
public boolean matches(String regex)
باراميترات
مكان الباراميتر
regex
نمرر نص عبارة عن مجموعة رموز يحدد النص الذي نريد معرفة ما إذا كان موجوداً في الـString
الذي قام باستدعائها أم لا.
قيمة الإرجاع
ترجع
true
في حال كان الـString
الذي قام باستدعائها يطابق التعبير النمطي.ترجع
false
في حال كان الـString
الذي قام باستدعائها لا يطابق التعبير النمطي.
مثال
public class Main { public static void main(String[] args) { String str = "welcome to harmash.com"; System.out.println( str.matches("harmash") ); // false ترجع System.out.println( str.matches("welcome(.*)") ); // true ترجع System.out.println( str.matches("(.*)harmash(.*)") ); // true ترجع } }
•سنحصل على النتيجة التالية عند التشغيل.
false true true
•أولاً سأل نفسه التالي: هل str
يحتوي فقط على النص harmash
؟
فكان جواب الشرط false
.
•ثانياً سأل نفسه التالي: هل str
يحتوي على النص welcome
و يوجد بعده أي شيء آخر؟
فكان جواب الشرط true
.
•ثالثاً سأل نفسه التالي: هل str
يحتوي على النص harmash
و يوجد قبله و بعده أي شيء آخر؟
فكان جواب الشرط true
.
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة regionMatches()
تعريفها
تقارن جزء محدد في الـ String
الذي قام باستدعائها مع جزء محدد في الـ String
الذي نمرره لها مكان الباراميتر other
.
ترجع true
في حال كانت جميع أحرفهم متطابقة, غير ذلك ترجع false
.
بناؤها
هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.
// الشكل الأول public boolean regionMatches(int toffset, String other, int ooffset, int len) // الشكل الثاني public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
باراميترات
مكان الباراميتر
toffset
نمرر رقم يحدد نقطة بداية الجزء الموجود في الـString
الذي قام باستدعاء الدالة.مكان الباراميتر
other
نمرر الـString
الذي سيتم مقارنته مع الـString
الذي قام باستدعاء الدالة.مكان الباراميتر
ooffset
نمرر رقم يحدد نقطة بداية الجزءother
.مكان الباراميتر
len
نمرر عدد الأحرف التي نريدها أن تتقارن في كلا الجزأين.مكان الباراميتر
ignoreCase
إذا مررنا مكانه القيمةtrue
, فلن تؤثر الأحرف الكبيرة أو الصغيرة عند المقارنة.
قيمة الإرجاع
ترجع
true
في حال تطابق الجزأين.
مثال
public class Main { public static void main(String[] args) { String s1 = "welcome to harmash.com"; String s2 = "harmash"; String s3 = "HARMASH"; System.out.println( s1.regionMatches(11, s2, 0, 7) ); System.out.println( s1.regionMatches(11, s3, 0, 7) ); System.out.println( s1.regionMatches(true, 11, s3, 0, 7) ); } }
•سنحصل على النتيجة التالية عند التشغيل.
true false true
__________&&&______;&&&___________;&&&&_____________;&&&