NO.41 判斷定義為String類型的boolean值

1、 判斷定義為String類型的s1和s2是否相等

String s1 = "abc";

String s2 = "abc";

System.out.println(s1==s2);? ? ? ? ? // 引用數據類型,比較地址值? ,true

System.out.println(s1.equals(s2));? // true ? ? 比較equals:當且僅當該參數不為 null,并且是與此對象表示相同字符序列的 String 對象時,結果才為 true。

2、 下面這句話在內存中創建了幾個對象?

String s1 = new String("abc");? //這句話在內存中創建了兩個對象,一個是常量池,一個是堆內存中(副本)

System.out.println(s1);

3、 判斷定義為String類型的s1和s2是否相等

String s1 = new String("abc");? //在堆內存

String s2 = "abc";? ? ? ? ? ? ? //在常量池

System.out.println(s1==s2);? ? ? //結果==false

System.out.println(s1.equals(s2));? //結果==true(兩個屬性相同)

4、 判斷定義String類型的s1和s2是否相等

//byte b = 3 + 4;? ? ? ? //有常量優化機制,在編譯時,結果等于7在byte取值范圍內,會自動幫我們轉換

String s1 = "a"+"b"+"c";

String s2 = "abc";

System.out.println(s1==s2);? ? ? ? //結果==true,Java中有常量優化機制

System.out.println(s1.equals(s2));? //結果=true

5、判斷定義String類型的s2和s3是否相等

String s1 = "ab";

String s2 = "abc";

String s3 = s1 + "c";

System.out.println(s2==s3);? ? //結果==false

System.out.println(s2.equals(s3));? //結果==true

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,740評論 18 399
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,516評論 0 3
  • java中String的常用方法 1、length()字符串的長度 例:char chars[]={'a','b'...
    赤赤有名閱讀 2,094評論 0 10
  • package cn.itcast_01;/* 字符串:就是由多個字符組成的一串數據。也可以看成是一個字符數組。 ...
    蛋炒飯_By閱讀 603評論 0 0
  • final關鍵字(最終) final修飾的類無法被繼承. final修飾的方法無法被覆蓋. final修飾的局部變...
    yangliangliang閱讀 705評論 0 0