جار التحديث ...
جار التحديث ...

كيف اقارن بين نصين في جافا ؟

  • 0

كنت عادة استخدم علامة == لحل المشكلة , لكن الآن هذا يحدث خطا في البرنامج ويطلب مني استخدام .equals() , هل استخدام == خاطئ ؟ وما هو الحل لهذه المشكلة ؟

إجابات المستخدمين (2)


  • شريك الإطلاق
  • عضو جديد
  • قبل أشهر 8
public class nova {
public static void main(String [] args){
String name1 = "Emad";
String name2 = "emad";

//هذه مقارنة محكمة اي انه يتم التدقيق في حالة الحروف كانت كابيتال او سمول وتستخدم للتطابق الشديد 
if(name1.equal(name2)){
#code-here
}

//هذه تستخدم للمقارنة وتجاهل الحروف من حيث النوع احرف كابيتال او سمول المهم الكلمة تتطابق وخلص
if(name1.equaligonorecase(name2)){
#code
}
}
}

  • 0
رد على التعليق (0)

الردود :


لا يوجد ردود بعد


سجل الدخول لاضافة رد

الأمر يعتمد على نوع الكائنا وهو المشكلة الحقيقية , العبارة == تقارن بين قيمتين بغض النظر عن نوعيتهم شاهد هذا الكود الذي سيوضح لك العملية تماماً

// These two have the same value
new String("test").equals("test") // --> true 

// ... but they are not the same object
new String("test") == "test" // --> false 

// ... neither are these
new String("test") == new String("test") // --> false 

// ... but these are because literals are interned by 
// the compiler and thus refer to the same object
"test" == "test" // --> true 

// ... string literals are concatenated by the compiler
// and the results are interned.
"test" == "te" + "st" // --> true

// ... but you should really just call Objects.equals()
Objects.equals("test", new String("test")) // --> true
Objects.equals(null, "test") // --> false
Objects.equals(null, null) // --> true

  • 0
رد على التعليق (0)

الردود :


لا يوجد ردود بعد


سجل الدخول لاضافة رد
سجل الدخول لاضافة اجابة جديدة


ملئ الشاشة

اضافة سؤال جديد