JAVA基礎之常用類(一)String

綱要

  • String
  • StringBuffer
  • 基礎類型對應的8個包裝類
  • 日期相關類
  • 數字相關類
  • Random
  • Enum

1. 理解String類的存儲原理

  • String類是不可變類,也就是說String對象聲明後,將不可修改。
  • String表示字符串類型,屬於引用數據類型,不數據基本數據類型
    -

1.1. String創建方式一

這種方式內存地址直接指向常量池中的對象

public class StringTest01 {
   
   
    public static void main(String[] args) {
   
   
        String s1 = "abcdef";
        String s2 = "abcdef" + "xy";
        // 會創建三個對象
    }
}

以上代碼會創建3個字符串對象,都在常量池中,內存圖如下所示:

在這裏插入圖片描述

1.2 String創建方式二(通過 new String的方式)

這種方式會在 new對象的時候在堆內存中開闢空間在這裏插入圖片描述
此時的內存圖如下所示:
在這裏插入圖片描述

1.3 創建類的方式,通過構造函數創建對象

首先:創建 User類
在這裏插入圖片描述
其次:通過 User user = new User(110,"張三”); 的方式創建name裏面實際上保存的是:"張三“的字符串常量內存地址
在這裏插入圖片描述


1.4 比較兩個字符串常量是否相等

1.4.1 代碼片段:

在這裏插入圖片描述

1.4.1 內存分析:

在這裏插入圖片描述

1.4.2 代碼片段

在這裏插入圖片描述

1.4.2 內存分析

![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20210119104632428.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzc0Nzc0OA==,size_16,color_FFFFFF,t_70

案例總結:

通過這個案例的學習,我們知道了字符串對象之間的比較不能使用 ”==“,應該調用String類的equals方法,因爲String類的equals方法被重寫了。
在這裏插入圖片描述
在這裏插入圖片描述

1.5 String 類的常用構造方法

方式一:直接聲明: String s1 = “hello,world”;
方式二: 傳入 byte數組
在這裏插入圖片描述
在這裏插入圖片描述
方式三:傳入char數組
在這裏插入圖片描述
方式四:通過new String()
在這裏插入圖片描述






1.6 String 類的常用方法之valueOf()

把不是字符串的轉成字符串
在這裏插入圖片描述

1.7 StringBuffer與StringBuilder

思考:爲什麼會有StringBuffer??
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
StringBuffer與StringBuilder的區別:
StringBuffer:線程安全的
StringBuilder:非線程安全的


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章