Object類

1.toString方法
在我們直接使用輸出語句輸出對象的時候,其實通過該對象調(diào)用了其toString()方法。
2.equals方法
方法摘要:
類默認(rèn)繼承了Object類,所以可以使用Object類的equals方法
boolean equals(Object obj)指示其他某個對象是否與此對象“相等”。
equalse方法源碼: public boolean equals(Object obj){ return (this == obj); }
參數(shù):
- Object obj:可以傳遞任意的對象
- == 比較運算符,返回的是一個布爾值 true false
- 基本數(shù)據(jù)類型:比較的是值
- 引用數(shù)據(jù)類型:計較的是兩個對象的地址值
Data類
JAVA.util.Date:表示日期和時間的類
類Date 表示特定的瞬間,精確到毫秒。
毫秒:千分之一秒 1000毫秒=1秒
把日期轉(zhuǎn)換成毫秒:
- 當(dāng)前的日期:2019-07-18
- 時間原點(0毫秒):1970-01-01 00:00:00(英國格林威治)
- 就是計算當(dāng)前日期到時間原點之間一共經(jīng)歷了多少毫秒
注意:
中國屬于東八區(qū),會把時間增加8個小時
- 1970-01-01 08:00:00
把毫秒轉(zhuǎn)換為日期:
- 1天 = 24*60*60 = 86400秒 = 86400*1000=86400000毫秒
使用:
Date類的帶參數(shù)構(gòu)造方法 Date date = new Date(); Date();//獲取當(dāng)前系統(tǒng)的時間和日期 --------- Date date = new Date(0L); Date(long date);//傳遞毫秒值,把毫秒值轉(zhuǎn)化成Date日期 ----------- Date date = new Date(); long time = date.getTime(); long getTime() 把日期轉(zhuǎn)換成毫秒(相當(dāng)于System.currentTimeMillis()方法) 返回自1970年1月1日 00-00-00GMT 以來此Date 對象表示的毫秒數(shù)。
DateFormat類
java.text.DateFormat:是日期/時間格式化子類的抽象類
作用:
- 格式化(也就是日期 -> 文本),解析(文本->日期)
成員方法:
- String format(Date date) 按照指定的模式,把Date日期,格式化為符合模式的字符串
- Date parse(String source) 把符合模式的字符串,解析為Date日期
- DateFormat類是一個抽象類,無法直接創(chuàng)建對象使用,可以使用DateFormat類的子類
java.text.SimpleDateFormat extends DateFormat
使用DateFormat類中的方法format,把日期格式化為文本
使用步驟:
- 創(chuàng)建simpleDateFormat對象,構(gòu)造方法中傳遞指定的模式
- 調(diào)用SimpleDateFormat對象中的方法format,按照構(gòu)造方法指定的模式,把Date日期格式化為符合模式的字符串(文本)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒"); Date date = new Date(); String d = sdf.format(date);
Calendar類
介紹:
java.util.Calendar類;日歷類
- Calendar類是一個抽象類,里邊提供了很多操作日歷字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR)
- Calendar類無法直接創(chuàng)建對象使用,里邊有一個靜態(tài)方法叫getInstance(),該方法返回了Calendar類的子類對象
- static Calendar getInstance() 使用默認(rèn)時區(qū)和語言環(huán)境獲得一個日歷。
Calendar c = Calendar.getInstance();//多態(tài)
Calendar類的常用成員方法:
- public int get(int field);返回給定日歷字段的值。
- public void set(int field,int value);將給定的日歷字段設(shè)置為給定值
- public abstract void add(int field, int amount);根據(jù)日歷的規(guī)則,為給定的日歷字段添加或減去指定的時間量。
- public Data getTime();返回一個表示次Calendar時間值(從歷元到現(xiàn)在的毫秒偏移量)的Date對象。
//public int get(int field);返回給定日歷字段的值。 Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); ///public void set(int field,int value);將給定的日歷字段設(shè)置為給定值 //設(shè)置年為9999 //設(shè)置月為9月 c.set(Calendar.YEAR,9999); c.set(Calendar.MONTH,9); //增加年 c.add(Calendar.YEAR,2); //把日歷對象,轉(zhuǎn)換為日期對象 Date date=c.getTime();
Syetem類
java.lang.System類中提供了大量的靜態(tài)方法,可以獲取與系統(tǒng)相關(guān)的信息或系統(tǒng)級操作,在System類的API文檔中,常用的方法有;
- public static long currentTimeMillis();返回以毫秒為單位的當(dāng)前時間。
- public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int Length);將數(shù)組中指定的數(shù)據(jù)拷貝到另一個數(shù)組中。
參數(shù):
- src - 源數(shù)據(jù)
- srcPos - 源數(shù)據(jù)中的起始位置(起始索引)。
- dest - 目標(biāo)數(shù)組。
- destPos - 目標(biāo)數(shù)據(jù)中的起始位置
- Length - 要復(fù)制的數(shù)組元素的數(shù)量。
StringBuilder類
StringBuilder類
字符串緩沖區(qū),可以提高字符串的操作效率(看成一個長度可以變化的字符串)
底層也是一個數(shù)組,但是沒有被final修飾,可以改變長度
byte[] value = new byte[16];
StringBuilder在內(nèi)存中始終是一個數(shù)組,占用空間少,效率高
如果超出了StringBuilder的容量,會自動的擴(kuò)展。
比較與:String類
字符串是常量;它們的值在創(chuàng)建之后不能更改。
字符串的底層是一個被final修飾的數(shù)組,不能改變,是一個常量
private final byte[] value;
進(jìn)行字符串的相加,內(nèi)存中就會有多少個字符串,占用空間多 ,效率低下
java.lang.StringBuilder類:字符串緩沖區(qū),可以提高字符串的效率
構(gòu)造方法:
- StringBuilder()構(gòu)造一個不帶任何字符的字符串生成器,其初始容量為16個字符。
- StringBuilder(String str) 構(gòu)造一個字符串生成器,并初始化為指定的字符串內(nèi)容。
StringBuilder的常用方法:
- public StringBuilder Append(...):添加任意類型數(shù)據(jù)的字符串形式,并返回當(dāng)前對象自身。
StringBuilder和String可以相互轉(zhuǎn)換;
- String -> StringBuilder:可以使用StringBuilder的構(gòu)造方法
StringBuilder(String str)
- StringBuilder-> String:可以使用StringBuilder中的toString方法
public String toString();
包裝類
包裝類:
基本數(shù)據(jù)類型,使用起來非常方便,但是沒有對應(yīng)的方法來操作這些基本類型的數(shù)據(jù)
可以使用一個類,把基本類型的數(shù)據(jù)裝起來,在類中定義一些方法,這個類叫做包裝類,
我們可以使用類中的方法來操作這些基本類型的數(shù)據(jù)。
裝箱:把基本類型的數(shù)據(jù),包裝到包裝類中(基本類型的數(shù)據(jù)->包裝類)
構(gòu)造方法:
- Integer(int value)構(gòu)造一個新分配的 Integer對象,它表示指定的 int值。
- Integer(String s)構(gòu)造一個新分配的 Integer對象, 它表示String參數(shù)所指示的 int值。
傳遞的字符串,必須是基本類型的字符串,否則會拋出異常"100"正確 "a"拋異常
靜態(tài)方法:
- static Integer valueOf(int i)返回一個表示指定的int值的Integer實例。
- static Integer valueOf(String s)返回保存指定的String的值的Integer對象。
拆箱:在包裝類中取出基本類型的數(shù)據(jù)(包裝類->基本類型的數(shù)據(jù))
成員方法:
- int intValue()以int 類型返回該Integer的值。
自動裝箱和自動拆箱:基本類型的數(shù)據(jù)和包裝類之間可以自動的相互轉(zhuǎn)換
JDK1.5 之后出現(xiàn)的新特性
自動裝箱:直接把int類型的整數(shù)賦值包裝類
- Integer in = 1; 就相當(dāng)于 Integer in = new Integer(1);
自動拆箱:in是包裝類,無法直接參與運算,可以自動轉(zhuǎn)換為基本數(shù)據(jù)類型,在進(jìn)行計算
- int + 2;就相當(dāng)于 in.inVale() + 2=3
in = in.intVale() + 2 = 3 又是一個自動裝箱
注意:
- ArrayList集合無法直接存儲整數(shù),可以存儲Integer包裝類
- list.add(1);-->自動裝箱 list.add(new Integer(1));
- int a = list.get(0);//-->自動拆箱 list.get(0).intValue();
基本類型與字符串類型之間的相互轉(zhuǎn)換
基本類型->字符串(String)
1.基本類型的值+"" 最簡單的方法(工作中常用)
2.包裝類的靜態(tài)方法toString(參數(shù)),是Object類的toString()重載
- static String toString(int i) :返回一個表示指定整數(shù)的String對象。
3.String類的靜態(tài)方法valueOf(參數(shù))
- static String valueOf(int i) :返回int參數(shù)的字符串表示形式。
字符串(String)->基本類型
使用包裝類的靜態(tài)方法parseXXX("字符串");
- Integer類:static int parseInt(String s)
- Double類:static double parseDouble(String s)