View Full Version : سوال: یک if ساده(واقعا که این java چقدر بده)
mohsen_motamede
شنبه 17 مرداد 1388, 17:33 عصر
به نام خدا
if((loginScreen.getUsername()=="usr")&&(loginScreen.getPassword()=="psw"))
من این کد ساده را برای چک کردن user و psw نوشتم ولی نمیدونم چرا همیشه از روی کد مورد نظر پرش می کند (یعنی درست نیست) در حالی که USR و PSW درست است؟:عصبانی++::عصبانی:
unhandled_event
شنبه 17 مرداد 1388, 18:24 عصر
سلام
در جاوا برای مقایسه دو رشته از تابع equals استفاده میکنند نه از ==
دلیل : String هم در جاوا یک کلاس فرزند Object است. وقتی دو متغیر رشته ای را با== هم مقایسه میکنید
در واقع آدرس reference اونها رو مقایسه میکنید که خب معلومه برابر نیستند.
در جاوا هم به نوعی مفهوم pointer وجود داره اما با مدیریت حافظه بدون دردسرهای pointer در زبان C
نحوه مقایسه دو رشته :
s1.equals(s2)
بنابراین :
loginScreen.getUsername().equals("usr")
در واقع equals اپراتور مساوی بودن برای تمام Object هاست.
testers
یک شنبه 18 مرداد 1388, 17:20 عصر
جاوا یکی از زبون های خیلی خوب هست چطور میگید بده!؟ دیدید که مشکل حل شد
Mah
سه شنبه 20 مرداد 1388, 10:15 صبح
سلام .
برای مقایسه دو رشته نیز می توانی از این تابع استفاده نمائید .
String stText="yourText";
stText.toUpperCase().compareTo("String");
خوب و بد هر زبان برنامه نویسی را کاربران آن تعیین می کنند . باید دید چه امکاناتی نیاز دارید و کدام زبان با چه Developer هایی نیازهای شما را بیشتر پوشش می دهند .
موفق باشید .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.