با سلام ،
آیا در نمونه سازی از کلاس string ، مقدار دهی مسقیم (( مثال "String str="Hello )) با ، استفاده از عملگر new تفاوتی دارد ((مثال ("String str=new String("Hello ))
دارند ؟؟؟؟؟؟
من وقتی دو string با مقادیر برابر از روش اول ((مقدار دهی مستقیم)) میسازم ، و آنها را با عملگر == قیاس میکنم ، مقدار true برمیگرداند .
اما وقتی دو String با مقادیر برابر از روش ثانویه (( مقدار دهی با دستود new )) میسازم ، و آنها را با عملگر == قیاس میکنم ، مقدار false برمیگرداند.
علت این تفاوت در چیست؟؟
instantiate from String
Re: instantiate from String
با سلام
علت این مورد، در حقیقت وجود مکانیزم صرفه جویی در تولید اشیا در مورد کلاس String است، و صد البته استفاده از ("X")new String توصیه نمی گردد. در شرایطی که از حالت فوق استفاده کرده اید جهت بررسی برابری از متد equals استفاده کنید.
علت این مورد، در حقیقت وجود مکانیزم صرفه جویی در تولید اشیا در مورد کلاس String است، و صد البته استفاده از ("X")new String توصیه نمی گردد. در شرایطی که از حالت فوق استفاده کرده اید جهت بررسی برابری از متد equals استفاده کنید.