See More

------------------------ String | ------------------------ # ×Ö·û´® ------------------------ ¾²Ì¬·½·¨ | ------------------------ String format(String format, Object... args) # ¸ñʽ»¯Ö¸¶¨µÄ×Ö·û´® ------------------------ ʵÀý·½·¨ | ------------------------ native String intern(); * ·µ»Ø³£Á¿³ØÖеÄij×Ö·û´®,Èç¹û³£Á¿³ØÖÐÒѾ­´æÔÚ¸Ã×Ö·û´®,Ôò·µ»Ø³£Á¿³ØÖиöÔÏóµÄÒýÓà * ·ñÔò * JDK6¼°ÆäÒÔǰÊÇ, Ïȸ´ÖƵ½×Ö·û´®³Ø, È»ºó·µ»Ø×Ö·û´®³ØÖеÄ×Ö·û´®ÒýÓà * JDK7¼°ÆäÒÔºóÊÇ, Ö»ÔÚ×Ö·û´®³ØÖмǼ¸Ã×Ö·û´®¶ÔÏóµÚÒ»´Î³öÏÖµÄÒýÓÃ, È»ºó·µ»Ø(jdk1.7Ö®ºó, ³£Á¿³Ø²»½ö½ö¿ÉÒÔ´æ´¢¶ÔÏó, »¹¿ÉÒÔ´æ´¢¶ÔÏóµÄÒýÓÃ, »áÖ±½Ó½«×Ö·û´®µÄµØÖ·´æ´¢ÔÚ³£Á¿³Ø) // 1.1ÔÚ¶ÑÖд´½¨"1"×Ö·û´®¶ÔÏó // 1.2×Ö·û´®³£Á¿³ØÒýÓÃ"1"×Ö·û´®¶ÔÏó // 1.3sÒýÓÃÖ¸Ïò¶ÑÖÐ"1"×Ö·û´®¶ÔÏó String s = new String("1"); // 2. ·¢ÏÖ×Ö·û´®³£Á¿³ØÖÐÒѾ­´æÔÚ"1"×Ö·û´®¶ÔÏó£¬Ö±½Ó·µ»Ø×Ö·û´®³£Á¿³ØÖжԶѵÄÒýÓÃ(µ«Ã»ÓнÓÊÕ)-->sÒýÓû¹ÊÇÖ¸Ïò×ŶÑÖеĶÔÏó s.intern(); // 3. ·¢ÏÖ×Ö·û´®³£Á¿³ØÒѾ­±£´æÁ˸öÔÏóµÄÒýÓÃÁË£¬Ö±½Ó·µ»Ø×Ö·û´®³£Á¿³Ø¶Ô¶ÑÖÐ×Ö·û´®µÄÒýÓà String s2 = "1"; // 4. sÖ¸ÏòµÄÊǶÑÖжÔÏóµÄÒýÓã¬s2Ö¸ÏòµÄÊÇÔÚ×Ö·û´®³£Á¿³Ø¶Ô¶ÑÖжÔÏóµÄÒýÓà System.out.println(s == s2);// false --------------------------------------------- // 1. ÔÚ¶ÑÖÐÊ×ÏÈ´´½¨ÁËÁ½¸ö¡°1¡±¶ÔÏó // 1.1 +ºÅÔËËã·û½âÎö³ÉstringBuilder£¬×îºótoString()£¬×îÖÕÔÚ¶ÑÖд´½¨³ö"11"¶ÔÏó // 1.2 ×¢Ò⣺´Ëʱ"11"¶ÔÏó²¢Ã»ÓÐÔÚ×Ö·û´®³£Á¿³ØÖб£´æÒýÓà String s3 = new String("1") + new String("1"); // 2. ·¢ÏÖ"11"¶ÔÏó²¢Ã»ÓÐÔÚ×Ö·û´®³£Á¿³ØÖдæÔÚ£¬ÓÚÊǽ«"11"¶ÔÏóÔÚ×Ö·û´®³£Á¿³ØÖб£´æµ±Ç°×Ö·û´®µÄÒýÓ㬲¢·µ»Øµ±Ç°×Ö·û´®µÄÒýÓà s3.intern(); // 3. ·¢ÏÖ×Ö·û´®³£Á¿³ØÒѾ­´æÔÚÒýÓÃÁË£¬Ö±½Ó·µ»Ø(Äõ½µÄÒ²ÊÇÓës3ÏàָͬÏòµÄÒýÓÃ) String s4 = "11"; System.out.println(s3 == s4); // true