نقل قول: مشکل در مقایسه دو متغیر
رشته ها رو با == مقایسه نکن از متد equals یا equalsIgnoreCase توی کلاس String استفاده کن
نقل قول: مشکل در مقایسه دو متغیر
بازم نشد .
if(jTextField1.getText().equalsIgnoreCase("user")= = true && jPasswordField1.getText().equalsIgnoreCase("123")= = true){
System.out.println("Entered");
}
اینم کدمه . با Equals هم نشد .
نقل قول: مشکل در مقایسه دو متغیر
درست شد . ممنون .... تویه تکست فیلد یه space اضافه بود .
حالا یه سوال دیگه : چرا از == برای مقایسه ی رشته استفاده کنم ؟!
نقل قول: مشکل در مقایسه دو متغیر
وقتی تکست توی ورودی ها و Input ها رو میگیری همیشه می تونی از تابع trim استفاده کنی تا spaceهای اول و آخر احتمالی رو توش حذف کنه تا این مشکلات پیش نیاد.
نقل قول:
حالا یه سوال دیگه : چرا از == برای مقایسه ی رشته استفاده نکنم ؟!
ضمنن == همیشه مساوی بودن مقادیر reference ها رو چک می کنه (یعنی آدرس شی ها) نه محتویات شی ها. بنابراین برای رشته ها مثلن یه تابع equals نوشتن که یکسان بودن محتویات رشته ها رو بررسی کنه.