+1 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

تفاوت بین دو روش زیر برای تعریف String در جاوا چیست؟

String s = "java";
String s = new String("java");

1 پاسخ

+5 امتیاز
قبل توسط (1.1هزار امتیاز)

در جاوا وقتی با استفاده از کلمه کلیدی new یک شئ String ایجاد می کنید یک شئ String ایجاد می شود اما String هایی که با استفاده از "" تعریف می شوند در واقع شئ نیستند بلکه String literal هستند. به مثال زیر توجه کنید:

String s1 = "abcde";
String s2 = new String("abcde");
String s3 = "abcde";

(s1 == s2) // is false
(s1 == s3) // is true
(s1.equals(s2)) // is true

دو متغییر s1 و s3 در واقع دو اشاره گر به "abcde" هستند که یک String literal است و به آن interned String object می گویند.

سوال شده 8 سال قبل در برنامه نویسی توسط (467 امتیاز)
برچسب گذاری دوباره 8 سال قبل توسط
جایگاه حافظه String Literal و شی String چگونه است؟

سوالات مشابه

0 امتیاز
0 پاسخ 904 بازدید
+1 امتیاز
1 پاسخ 691 بازدید
+1 امتیاز
2 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 732 بازدید
0 امتیاز
1 پاسخ 443 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
0 پاسخ 574 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط java_ (778 امتیاز)
0 امتیاز
1 پاسخ 563 بازدید
0 امتیاز
2 پاسخ 1.2هزار بازدید
...