instantiate from String

ارسال پست
sajadMathShah
پست: 13
تاریخ عضویت: پنج شنبه 2 مرداد 1399, 6:21 am

instantiate from String

پست توسط sajadMathShah » پنج شنبه 2 مرداد 1399, 6:41 am

با سلام ،
آیا در نمونه سازی از کلاس string ، مقدار دهی مسقیم (( مثال "String str="Hello )) با ، استفاده از عملگر new تفاوتی دارد ((مثال ("String str=new String("Hello ))
دارند ؟؟؟؟؟؟

من وقتی دو string با مقادیر برابر از روش اول ((مقدار دهی مستقیم)) میسازم ، و آنها را با عملگر == قیاس میکنم ، مقدار true برمیگرداند .
اما وقتی دو String با مقادیر برابر از روش ثانویه (( مقدار دهی با دستود new )) میسازم ، و آنها را با عملگر == قیاس میکنم ، مقدار false برمیگرداند.

علت این تفاوت در چیست؟؟

java2
مدیر کل سایت
پست: 178
تاریخ عضویت: پنج شنبه 13 دی 1397, 6:49 pm

Re: instantiate from String

پست توسط java2 » جمعه 3 مرداد 1399, 12:48 am

با سلام
علت این مورد، در حقیقت وجود مکانیزم صرفه جویی در تولید اشیا در مورد کلاس String است، و صد البته استفاده از ("X")new String توصیه نمی گردد. در شرایطی که از حالت فوق استفاده کرده اید جهت بررسی برابری از متد equals استفاده کنید.

ارسال پست