صفحه 1 از 1

instantiate from String

ارسال شده: پنج شنبه 2 مرداد 1399, 6:41 am
توسط sajadMathShah
با سلام ،
آیا در نمونه سازی از کلاس string ، مقدار دهی مسقیم (( مثال "String str="Hello )) با ، استفاده از عملگر new تفاوتی دارد ((مثال ("String str=new String("Hello ))
دارند ؟؟؟؟؟؟

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

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

Re: instantiate from String

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