1. 程式人生 > >String 基礎面試題

String 基礎面試題

oid clas div 內容 dem 代碼 sta false []

1. JAVA 中字符串內容得到比較用的是 專門的比較方法 equals 。 == 比較的是字符串的引用是否相同。

2. 查看一下代碼運行的結果

 1 public class Demo {
 2            public static void main(String[] args) {
 3             // new 創建的對象是存儲在堆中的,每次都會創造一個對象,所以  h1==h2 false   
 4             String h1=new String("hello");
 5             String h2=new String("hello");
6 System.out.println(h1==h2); 7 // String a="abc" 是 從 String 常量池中拿對象,a 是實體就是 abc 8 // String b="abc" JVM 會拿b 在String 常量池中找是否存在內容相同的字符串對象 9 // 如果不存在,則在常量池中創建一個對象b,否則不添加,所以 a==b true 10 String a="abc"; 11 String b="abc"; 12 System.out.println(a==b);
13 //JAVA 常量優化機制,String 是 final 修飾的,為常量,編譯的時候c 已經為 abc 所以 a==c true 14 String c="ab"+"c"; 15 System.out.println(a==c); 16 // JAVA 語言中提供了對字符串串聯符號,("+")子符串串聯是通過StringBuilder以及append 方法實現的 17 // 不是同一個對象 a==d3 false 18 String d1="ab";
19 String d2="c"; 20 String d3=d1+d2; 21 System.out.println(a==d3); 22 // 結果是 23 //false 24 //true 25 //true 26 //false 27 } 28 }

String 基礎面試題