Object类和常用API
目錄
一、Object類
二、時(shí)間日期類
1.Date類
2.DateFormat類
3.Calendar類
三、System類
1.兩個(gè)常用的靜態(tài)方法
四、StringBuilder類
1.String在拼接字符串時(shí)的性能問(wèn)題
2.StringBuilder的介紹
3.構(gòu)造方法和常用方法
五、包裝類
1.八種基本數(shù)據(jù)類型對(duì)應(yīng)的包裝類
2.自動(dòng)拆箱和自動(dòng)裝箱
3.解析字符串
4.基本類型轉(zhuǎn)換為字符串
一、Object類
1.特點(diǎn):所有類的根類,所有類都會(huì)直接或者間接的繼承Object類。
2.toString方法:返回該對(duì)象的字符串表示。
默認(rèn)的字符串表示格式:包名.類名@地址值
注意:打印對(duì)象時(shí),實(shí)際上JVM先調(diào)用對(duì)象的ToString獲取到返回值,再打印。
3.equals方法:
public boolean equals(Object obj)
判斷其他某個(gè)對(duì)象是否與此對(duì)象“相等"
a.默認(rèn)的equals方法,比較是兩個(gè)對(duì)象的地址值
b.我們?cè)诎l(fā)開(kāi)中, 一般會(huì)重寫(xiě)equals方法,比較兩個(gè)對(duì)象的內(nèi)容是否相同
4.Objects類
Objects類是一個(gè)工具類( 不是根類!!!)
判斷兩個(gè)字符是否內(nèi)容相等
字符串1.equals(字符串2);//可能會(huì)出現(xiàn)空指針
Objects.equals(字符串1,字符串2);//空指針容忍的
代碼練習(xí)
public class ToStringTest{static int i = 1;public static void main(String args[]){System.out.println("love " + new ToStringTest());//love javaToStringTest a = new ToStringTest();a.i++;System.out.println("me " + a.i);//me 2}public String toString(){System.out.print("I ");//Ireturn "java ";} }運(yùn)行結(jié)果:I love java ???me 2
原因:當(dāng)執(zhí)行代碼的時(shí)候,首先加載靜態(tài)變量,然后執(zhí)行main方法,由于main方法內(nèi)部第一行代碼為輸出語(yǔ)句,里面new了此類對(duì)象,當(dāng)執(zhí)行此行代碼時(shí)會(huì)先創(chuàng)建了本類的對(duì)象,由于此類重寫(xiě)了toString方法,會(huì)先執(zhí)行toString方法的打印輸出,然后返回“java ”,再執(zhí)行main方法第一行打印輸出。在Java中“System.out.println(類對(duì)象名);”實(shí)際輸出的是該對(duì)象的toString()方法返回的字符串,即括號(hào)中的內(nèi)容等價(jià)于類對(duì)象名.toString(),toString方法的好處是在碰到println方法的時(shí)候會(huì)被自動(dòng)調(diào)用,不用顯示的寫(xiě)出來(lái)。
二、時(shí)間日期類
1.Date類
構(gòu)造:
public Date();//當(dāng)前系統(tǒng)時(shí)間
Public Date(long time);//?//代表距離標(biāo)準(zhǔn)時(shí)間 time毫秒后的時(shí)間點(diǎn)
成員方法:
public long getTime();//獲取當(dāng)前Date對(duì)象 距離標(biāo)準(zhǔn)時(shí)間的毫秒值
2.DateFormat類
構(gòu)造:
public SimpleDateFormat(String pattern);//以指定的模式,創(chuàng)建一個(gè)日期格式化對(duì)象
成員方法:
public String format(Date date);//把Date對(duì)象 格式化成 符合模式的字符串
public Date parse(String time);//把符合格式的字符串 解析回 Date對(duì)象
Eg:SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH-mm-ss”);
3.Calendar類
獲取方式:
通過(guò)Calendar的一個(gè)靜態(tài)方法直接獲取子類對(duì)象
public static Calendar getInstance()
常用方法:
public int get(int filed);//根據(jù)成員變量的編號(hào),獲取該成員變量的值
public void set(int field,int value);//修改指定編號(hào)的成員變量的值
public void add(int field,int amount);//增加指定編號(hào)的成員變量的值
三、System類
1.兩個(gè)常用的靜態(tài)方法
public static long currentTimeMillis():獲取當(dāng)前時(shí)間距離標(biāo)準(zhǔn)時(shí)間的毫秒值
//和 new Date().getTime()是一樣的效果
public static void arraycopy(源數(shù)組,起始索引,目標(biāo)數(shù)組,起始索引,元素個(gè)數(shù))
四、StringBuilder類
1.String在拼接字符串時(shí)的性能問(wèn)題
String是不可變的,每次拼接時(shí)都會(huì)創(chuàng)建新的String對(duì)象,導(dǎo)致性能極低
2.StringBuilder的介紹
StringBuilder是可變的字符串,每次拼接字符串時(shí),直接在原有字符串后面繼續(xù)追加
當(dāng)StringBuilder底層字符數(shù)組不夠用,會(huì)自動(dòng)擴(kuò)容
3.構(gòu)造方法和常用方法
構(gòu)造:
public StringBuilder();//空的StringBuilder對(duì)象
public StringBuilder(String str);//有參的StringBuilder對(duì)象
成員方法:
public StringBuilder append(任意類型);拼接字符串,
返回StringBuilder本身對(duì)象,支持鏈?zhǔn)骄幊?/p>
public String toString();//返回StringBuilder的內(nèi)容,以String類型返回的
在開(kāi)發(fā)中,如果是拼接字符串,使用StringBuilder
拼接完畢之后,先轉(zhuǎn)成String,再打印
五、包裝類
1.八種基本數(shù)據(jù)類型對(duì)應(yīng)的包裝類
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
2.自動(dòng)拆箱和自動(dòng)裝箱
3.解析字符串
Integer.parseInt("100");
Double.parseDouble("3.14");
Boolean.parseBoolean("false");
4.基本類型轉(zhuǎn)換為字符串
最簡(jiǎn)單:
10+"";
StringBuilder:
new StrngBuilder().append(10).toString();//得到結(jié)果 "10"
通過(guò)String的靜態(tài)方法
String.valueOf(10);// 返回一個(gè) String對(duì)象
二
總結(jié)
以上是生活随笔為你收集整理的Object类和常用API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java使用集合模拟斗地主洗牌发牌案例
- 下一篇: Collection、泛型