JAVASE(十二) Java常用類: 包裝類、String類、StringBuffer類、時間日期API、其他類

個人博客網:https://wushaopei.github.io/    (你想要這裏多有)

1、包裝類

1 .1 八個包裝類

    

1. 2 基本數據類型,包裝類,String者之間的轉換

    

2、String 類

2.1 說明

  1. 被final修飾該類不能被繼承
  2. 實現了java.io.Serializable : 可以進行序列化。可以將內存中的數據寫入磁盤。前端和後臺數據的傳輸也需要進行序列化。不同進程間數據的傳輸也需要序列化。
  3. 實現了Comparable接口 : 可以比較內容。
  4. 實現了CharSequence接口 : 可以獲取內容的長度,還可以截取子串
  5. String底層是一個char[],且該數組被final修飾
  6. String是一個不可變的字符序列

2.2 內存分析

                   

3、StringBuffer 和 StringBuilder

3.1 String,StringBuffer,StringBuilder者之間的區別?

String : 是一個不可變的字符序列,底層是一個char[]被final所修飾

StringBuffer:是一個可變的字符序列,底層是一個char[],線程安全的,效率低

StringBuilder:是一個可變的字符序列,底層是一個char[],線程不安全的,效率高

3.2 StringBuffer構造器說明

new StringBuffer(); //創建一個長度爲16的數組

new StringBuffer(1000); //創建一個長度爲1000的數組

new StringBuffer("abcdefg"); //創建一個長度爲 :字符串長度 + 16
說明:

當我們創建一個空參的StringBuffer的對象時,底層默認創建一個長度爲16的數組。當我們添加第17個元素時,底層會進行擴容,擴容爲原來的2倍+2.

3.3常用方法

        

增 ,刪 ,改,查 ,插,長度

4、時間日期API

4.1 Date

java.util.Date
              new Date(): 獲取當前的時間
              new Date(long time):毫秒數對應的那個時間
              toString() :輸出對應的時間
              getTime() :獲取時間對應的毫秒數


 java.sql.Date
    new Date(long time) :獲取毫秒數對應的日期
    toString() : 輸出毫秒數對應的日期
getTime() : 獲取日期對應的毫秒數

4.2 java.text.SimpleDateFormat:格式化時間

兩個方法:
          1.將時間轉成字符串   format(Date date)
          2.將字符串轉成時間   parse("18-8-14 下午3:47")

代碼:

        @Test
	public void test2() throws ParseException{
		SimpleDateFormat sdf = new SimpleDateFormat("YYYY-'W'ww-u");
		String time = sdf.format(new Date());
		//2018-W33-2
		System.out.println(time);
		
		
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
		String time2 = sdf2.format(new Date());
		//2018-08-14T15:54:26.831+0800
		System.out.println(time2);
		
		
		SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String time3 = sdf3.format(new Date());
		//2018-08-14 15:56:12
		System.out.println(time3);
		//注意:不能將其它格式的時間字符串進行轉換
		Date parse = sdf3.parse("2018-08-14 15:56:12"); 
	}

4.3日曆類(瞭解)

                Calendar instance = Calendar.getInstance();
//		System.out.println(instance.getClass().getName());
		
		//當天是當年的第幾天
		int day = instance.get(Calendar.DAY_OF_YEAR);
		//當天是當週的第幾天
		day = instance.get(Calendar.DAY_OF_WEEK);
		//當天是當月的第幾天
		day = instance.get(Calendar.DAY_OF_MONTH);
		
		//將當天設置成當月的第1天
		instance.set(Calendar.DAY_OF_MONTH, 1);
		day = instance.get(Calendar.DAY_OF_MONTH);
		
		//在當天是當月的第幾天的基礎上 加  3 ,可以寫負數
		instance.add(Calendar.DAY_OF_MONTH, 3);
		day = instance.get(Calendar.DAY_OF_MONTH);
		//獲取日曆對應的時間
		Date time = instance.getTime();
		
		System.out.println(time.toString());

5、其他類

5.1 Math:用於數學計算

       

5.2 BigInteger

說明 :Integer類作爲int的包裝類,能存儲的最大整型值爲,BigInteger類的數值範圍較Integer類、Double類的數值範圍要大得多,可以支持任意精度的整數。

BigInteger a = new BigInteger(String.valueOf(Integer.MAX_VALUE));
BigInteger b = new BigInteger(String.valueOf(1));
BigInteger add = a.add(b);
System.out.println(add);

5.3 BigDecimal

說明:一般的Float類和Double類可以用來做科學計算或工程計算,但在商業計算中,要求數字精度比較高,故用到java.math.BigDecimal類。BigDecimal類支持任何精度的定點數

BigDecimal a = new BigDecimal(String.valueOf(1.0));
BigDecimal b = new BigDecimal(String.valueOf(0.41));
BigDecimal subtract = a.subtract(b);
System.out.println(subtract);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章