java常见_Java 常用类
一Object 老祖宗
java.lang.Object
1.所有的類(lèi)直接或者間接繼承父類(lèi)Java認(rèn)為所有的對(duì)象都具備一些基本的共性?xún)?nèi)容這些內(nèi)容可以不斷的向上抽取最終就抽取到了一個(gè)最頂層的類(lèi)中(Object) 該類(lèi)中定義的就是所有對(duì)象都具備的功能
2.具體方法:
booleanequals(Object obj): 用于比較兩個(gè)對(duì)象是否相等其實(shí)內(nèi)部比較的就是兩個(gè)對(duì)象地址
String toString(): 將對(duì)象變成字符串默認(rèn)返回的格式: 類(lèi)名@哈希值= getClass().getName() + '@'+ Integer.toHexString(hashCode()) 為了對(duì)象對(duì)應(yīng)的字符串內(nèi)容有意義可以通過(guò)復(fù)寫(xiě)建立該類(lèi)對(duì)象自己特有的字符串表現(xiàn)形式
Class getClass(): 獲取任意對(duì)象運(yùn)行時(shí)的所屬字節(jié)碼文件對(duì)象
inthashCode(): 返回該對(duì)象的哈希碼值支持此方法是為了提高哈希表的性能
通常equals, toString, hashCode在應(yīng)用中都會(huì)被復(fù)寫(xiě)建立具體對(duì)象的特有的內(nèi)容
二String 字符串類(lèi)
java.lang.String
1.java中用String類(lèi)進(jìn)行描述對(duì)字符串進(jìn)行了對(duì)象的封裝這樣的好處是可以對(duì)字符串這種常見(jiàn)數(shù)據(jù)進(jìn)行方便的操作對(duì)象封裝后可以定義N多屬性和行為
2.特點(diǎn): 字符串一旦被初始化就不可以被改變存放在方法區(qū)中的常量池中
3.具體方法:
1> 構(gòu)造方法將字節(jié)數(shù)組或者字符數(shù)組轉(zhuǎn)成字符串
String s1 = newString(); //創(chuàng)建了一個(gè)空內(nèi)容的字符串
String s2 = null; //s2沒(méi)有任何對(duì)象指向是一個(gè)null常量值
String s3 = ""; //s3指向一個(gè)具體的字符串對(duì)象只不過(guò)這個(gè)字符串中沒(méi)有內(nèi)容
String s4 = newString("abc");
String s5 = "abc"; //一般用此寫(xiě)法
newString(char[]); //將字符數(shù)組轉(zhuǎn)成字符串
newString(char[], offset, count); //將字符數(shù)組中的一部分轉(zhuǎn)成字符串
2> 一般方法
a. 獲取
length(); //獲取字符串的長(zhǎng)度
charcharAt(intindex); //指定位置的字符
intindexOf(intch); //返回第一次找到的字符角標(biāo)如果不存在返回-1
intindexOf(intch, intfromIndex); //返回從指定位置開(kāi)始第一次找到的角標(biāo)如果不存在返回-1
intindexOf(String str); // 返回第一次找到的字符串角標(biāo)如果不存在返回-1
intindexOf(String str, intfromIndex);
intlastIndexOf(intch);
intlastIndexOf(intch, intfromIndex);
intlastIndexOf(String str);
intlastIndexOf(String str, intfromIndex);
String substring(intstart); //從start位開(kāi)始到length()-1為止
String substring(intstart, intend); //從start開(kāi)始到end為止//包含start位不包含end位
substring(0, str.length()); //獲取整串
b. 判斷
booleancontains(String substring); //字符串中包含指定的字符串嗎
booleanstartsWith(string); //字符串是否以指定字符串開(kāi)頭啊
booleanendsWith(string); //字符串是否以指定字符串結(jié)尾啊
booleanequals(string); //覆蓋了Object中的方法判斷字符串內(nèi)容是否相同
booleanequalsIgnoreCase(string) ; //判斷字符串內(nèi)容是否相同忽略大小寫(xiě)
c. 轉(zhuǎn)換
//可以通過(guò)字符串中的靜態(tài)方法將字符數(shù)組轉(zhuǎn)成字符串
staticString copyValueOf(char[] );
staticString copyValueOf(char[], intoffset, intcount);
staticString valueOf(char[]);
staticString valueOf(char[], intoffset, intcount);
//將基本數(shù)據(jù)類(lèi)型或者對(duì)象轉(zhuǎn)成字符串
staticString valueOf(char);
staticString valueOf(boolean);
staticString valueOf(double);
staticString valueOf(float);
staticString valueOf(int);
staticString valueOf(long);
staticString valueOf(Object);
//將字符串轉(zhuǎn)成大小寫(xiě)
String toLowerCase(); //轉(zhuǎn)小寫(xiě)
String toUpperCase(); //轉(zhuǎn)大寫(xiě)
//將字符串轉(zhuǎn)成數(shù)組
char[] toCharArray(); //轉(zhuǎn)成字符數(shù)組
byte[] getBytes(); //可以加入編碼表轉(zhuǎn)成字節(jié)數(shù)組
//將字符串轉(zhuǎn)成字符串?dāng)?shù)組切割方法
String[] split(分割的規(guī)則-字符串);
//將字符串進(jìn)行內(nèi)容替換注意: 修改后變成新字符串并不是將原字符串直接修改
String replace(oldChar, newChar);
String replace(oldstring, newstring);
String concat(string); //對(duì)字符串進(jìn)行追加
String trim(); //去除字符串兩端的空格
intcompareTo(); //如果參數(shù)字符串等于此字符串則返回值0 如果此字符串按字典順序小于字符串參數(shù)則返回一個(gè)小于0 的值如果此字符串按字典順序大于字符串參數(shù)則返回一個(gè)大于0 的值
三StringBuffer 字符串緩沖區(qū)
java.lang.StringBuffer
1.構(gòu)造一個(gè)其中不帶字符的字符串緩沖區(qū)初始容量為16個(gè)字符
2.特點(diǎn):
1> 可以對(duì)字符串內(nèi)容進(jìn)行修改
2> 是一個(gè)容器
3> 是可變長(zhǎng)度的
4> 緩沖區(qū)中可以存儲(chǔ)任意類(lèi)型的數(shù)據(jù)
5> 最終需要變成字符串
3.具體方法:
//添加
StringBuffer append(data); 在緩沖區(qū)中追加數(shù)據(jù)追加到尾部
StringBuffer insert(index, data); 在指定位置插入數(shù)據(jù)
//刪除
StringBuffer delete(start, end); 刪除從start至end-1范圍的元素
StringBuffer deleteCharAt(index); 刪除指定位置的元素
//sb.delete(0, sb.length()); 清空緩沖區(qū)
//修改
StringBuffer replace(start, end, string); 將start至end-1替換成string
voidsetCharAt(index, char); 替換指定位置的字符
voidsetLength(len); 將原字符串置為指定長(zhǎng)度的字符串
//查找(查不到返回-1)
intindexOf(string); 返回指定子字符串在此字符串中第一次出現(xiàn)處的索引
intindexOf(string,intfromIndex); 從指定位置開(kāi)始查找字符串
intlastIndexOf(string); 返回指定子字符串在此字符串中最右邊出現(xiàn)處的索引
intlastIndexOf(string, intfromIndex); 從指定的索引開(kāi)始反向搜索
//獲取子串
string substring(start); 返回start到結(jié)尾的子串
string substring(start, end); 返回start至end-1的子串
//反轉(zhuǎn)
StringBuffer reverse(); 字符串反轉(zhuǎn)
四StringBuilder 字符串緩沖區(qū)
java.lang.StringBuilder
1.JDK1.5出現(xiàn)StringBuiler 構(gòu)造一個(gè)其中不帶字符的字符串生成器初始容量為16個(gè)字符該類(lèi)被設(shè)計(jì)用作StringBuffer的一個(gè)簡(jiǎn)易替換用在字符串緩沖區(qū)被單個(gè)線(xiàn)程使用的時(shí)候(這種情況很普遍)
2.具體方法: 和StringBuffer一樣
3.StringBuffer 和StringBuilder 的區(qū)別:
StringBuffer線(xiàn)程安全
StringBuilder線(xiàn)程不安全
單線(xiàn)程操作使用StringBuilder 效率高
多線(xiàn)程操作使用StringBuffer 安全
五Integer int對(duì)象包裝類(lèi)
java.lang.Integer
1.數(shù)字格式的字符串轉(zhuǎn)成基本數(shù)據(jù)類(lèi)型的方法
1> 將該字符串封裝成了Integer對(duì)象并調(diào)用對(duì)象的方法intValue();
2> 使用Integer.parseInt(numstring); 不用建立對(duì)象直接類(lèi)名調(diào)用
2.將基本類(lèi)型轉(zhuǎn)成字符串
1> Integer中的靜態(tài)方法String toString(int);
2> int+ "";
3.將一個(gè)十進(jìn)制整數(shù)轉(zhuǎn)成其他進(jìn)制
1> 轉(zhuǎn)成二進(jìn)制: toBinaryString
2> 轉(zhuǎn)成八進(jìn)制: toOctalString
3> 轉(zhuǎn)成十六進(jìn)制: toHexString
4> toString(intnum, intradix);
4.將其他進(jìn)制轉(zhuǎn)換十進(jìn)制: parseInt(string, radix); //將給定的數(shù)轉(zhuǎn)成指定的基數(shù)進(jìn)制
5.在jdk1.5版本后對(duì)基本數(shù)據(jù)類(lèi)型對(duì)象包裝類(lèi)進(jìn)行升級(jí)在升級(jí)中使用基本數(shù)據(jù)類(lèi)型對(duì)象包裝類(lèi)可以像使用基本數(shù)據(jù)類(lèi)型一樣進(jìn)行運(yùn)算
Integer i = newInteger(4); //1.5版本之前的寫(xiě)法
Integer i = 4; //自動(dòng)裝箱1.5版本后的寫(xiě)法
i = i + 5;
//i對(duì)象是不能直接和5相加的其實(shí)底層先將i轉(zhuǎn)成int類(lèi)型在和5相加而轉(zhuǎn)成int類(lèi)型的操作是隱式的自動(dòng)拆箱: 拆箱的原理就是i.intValue(); i+5運(yùn)算完是一個(gè)int整數(shù)如何賦值給引用類(lèi)型i呢? 其實(shí)有對(duì)結(jié)果進(jìn)行裝箱
Integer c = 127;
Integer d = 127;
System.out.println(c = = d); //true
//在裝箱時(shí)如果數(shù)值在byte范圍之內(nèi)那么數(shù)值相同不會(huì)產(chǎn)生新的對(duì)象也就是說(shuō)多個(gè)數(shù)值相同的引用指向的是同一個(gè)對(duì)象
六System 系統(tǒng)類(lèi)
java.lang.System
屬性和行為都是靜態(tài)的
longcurrentTimeMillis(); //返回當(dāng)前時(shí)間毫秒值
exit();? //退出虛擬機(jī)
Properties getProperties(); //獲取當(dāng)前系統(tǒng)的屬性信息
Properties prop = System.getProperties(); //獲取系統(tǒng)的屬性信息并將這些信息存儲(chǔ)到Properties集合中
System.setProperty("myname","祎哥哥"); //給系統(tǒng)屬性信息集添加具體的屬性信息
String name = System.getProperty("os.name"); //獲取指定屬性的信息
七Runtime 運(yùn)行時(shí)環(huán)境類(lèi)
java.lang.Runtime
類(lèi)中沒(méi)有構(gòu)造方法不能創(chuàng)建對(duì)象
但是有非靜態(tài)方法說(shuō)明該類(lèi)中應(yīng)該定義好了對(duì)象并可以通過(guò)一個(gè)static方法獲取這個(gè)對(duì)象用這個(gè)對(duì)象來(lái)調(diào)用非靜態(tài)方法這個(gè)方法就是staticRuntime getRuntime(); (單例設(shè)計(jì)模式)
classRuntimeDemo {public static void main(String[] args) throwsException {
Runtime r=Runtime.getRuntime();
Process p= r.exec("notepad.exe SystemDemo.java"); //運(yùn)行指定的程序
Thread.sleep(4000);
p.destroy();//殺掉進(jìn)程
}
}
八Math 數(shù)學(xué)運(yùn)算工具類(lèi)
java.util.Math
用于數(shù)學(xué)運(yùn)算的工具類(lèi)屬性和行為都是靜態(tài)的該類(lèi)是final不允許繼承
staticdoubleceil(doublea); //返回大于指定數(shù)值的最小整數(shù)
staticdoublefloor(doublea); //返回小于指定數(shù)值的最大整數(shù)
staticlonground(doublea); //四舍五入成整數(shù)
staticdoublepow(doublea, doubleb); //a的b次冪
staticdoublerandom(); //返回0~1的偽隨機(jī)數(shù)
九Date 日期類(lèi)
java.util.Date
日期類(lèi)月份從0-11(這就是老外 奇奇怪怪)
//日期對(duì)象轉(zhuǎn)成毫秒值
Date d = newDate();
longtime1 = d.getTime();
longtime2 = System.currentTimeMillis(); //毫秒值
//毫秒值轉(zhuǎn)成具體的日期
longtime = 1322709921312l;
Date d = newDate();
d.setTime(time);
//將日期字符串轉(zhuǎn)換成日期對(duì)象使用的就是DateFormat方法中的Date parse(String source);
publicstaticvoidmethod() throwsException {
String str_time = "2011/10/25";
DateFormat df = newSimpleDateFormat("yyyy/MM/dd"); //SimpleDateFormat作為可以指定用戶(hù)自定義的格式來(lái)完成格式化
Date d = df.parse(str_time);
}
//將日期對(duì)象轉(zhuǎn)換成字符串的方式DateFormat類(lèi)中的format方法
//創(chuàng)建日期格式對(duì)象
DateFormat df = newSimpleDateFormat(); //該對(duì)象的建立內(nèi)部會(huì)封裝一個(gè)默認(rèn)的日期格式11-12-1 下午1:48
//如果想要自定義日期格式的話(huà)可使用SimpleDateFormat的構(gòu)造函數(shù)將具體的格式作為參數(shù)傳入到構(gòu)造函數(shù)中必須要參與格式對(duì)象文檔
df = newSimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
//調(diào)用DateFormat中的format方法對(duì)已有的日期對(duì)象進(jìn)行格式化
String str_time = df.format(d);
十Calendar 日歷類(lèi)
ava.util. Calendarpublic static voidmethod(){
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR)+ "年" + (c.get(Calendar.MONTH)+1) + "月"
+ getNum(c.get(Calendar.DAY_OF_MONTH)) + "日"
+ "星期" +getWeek(c.get(Calendar.DAY_OF_WEEK)));
}public static String getNum(intnum){return num > 9 ? num + "" : "0" +num;
}public static String getWeek(intindex){//查表法 建立數(shù)據(jù)的對(duì)應(yīng)關(guān)系//最好 數(shù)據(jù)個(gè)數(shù)是確定的 而且有對(duì)應(yīng)關(guān)系 如果對(duì)應(yīng)關(guān)系的一方 是數(shù)字 而且可以作為角標(biāo) 那么可以通過(guò)數(shù)組來(lái)作為表
String[] weeks = {"","日","一","二","三","四","五","六"};returnweeks[index];
}
十一File 文件類(lèi)
java.io.File;
1.將文件系統(tǒng)中的文件和文件夾封裝成了對(duì)象提供了更多的屬性和行為可以對(duì)這些文件和文件夾進(jìn)行操作這些是流對(duì)象辦不到的因?yàn)榱髦徊僮鲾?shù)據(jù)
2.具體方法:
//創(chuàng)建
booleancreateNewFile(); 在指定目錄下創(chuàng)建文件如果該文件已存在則不創(chuàng)建而對(duì)操作文件的輸出流而言輸出流對(duì)象已建立就會(huì)創(chuàng)建文件如果文件已存在會(huì)覆蓋除非續(xù)寫(xiě)
booleanmkdir(); 創(chuàng)建此抽象路徑名指定的目錄
booleanmkdirs(); 創(chuàng)建多級(jí)目錄
//刪除注意: 在刪除文件夾時(shí)必須保證這個(gè)文件夾中沒(méi)有任何內(nèi)容才可以將該文件夾用delete刪除window的刪除動(dòng)作是從里往外刪java刪除文件不走回收站要慎用
booleandelete(); 刪除此抽象路徑名表示的文件或目錄
voiddeleteOnExit(); 在虛擬機(jī)退出時(shí)刪除
//獲取
longlength(); 獲取文件大小
String getName(); 返回由此抽象路徑名表示的文件或目錄的名稱(chēng)
String getPath(); 將此抽象路徑名轉(zhuǎn)換為一個(gè)路徑名字符串
String getAbsolutePath(); 返回此抽象路徑名的絕對(duì)路徑名字符串
String getParent(); 返回此抽象路徑名父目錄的抽象路徑名如果此路徑名沒(méi)有指定父目錄則返回null
longlastModified(); 返回此抽象路徑名表示的文件最后一次被修改的時(shí)間
File.pathSeparator; 返回當(dāng)前系統(tǒng)默認(rèn)的路徑分隔符windows默認(rèn)為";"
File.Separator; 返回當(dāng)前系統(tǒng)默認(rèn)的目錄分隔符windows默認(rèn)為"\"
//判斷
booleanexists(); 判斷文件或者文件夾是否存在
booleanisDirectory(); 測(cè)試此抽象路徑名表示的文件是否是一個(gè)目錄
booleanisFile(); 測(cè)試此抽象路徑名表示的文件是否是一個(gè)標(biāo)準(zhǔn)文件
booleanisHidden(); 測(cè)試此抽象路徑名指定的文件是否是一個(gè)隱藏文件
booleanisAbsolute(); 測(cè)試此抽象路徑名是否為絕對(duì)路徑名
//重命名
booleanrenameTo(File dest); 可以實(shí)現(xiàn)移動(dòng)的效果剪切+重命名
十二Properties
一個(gè)可以將鍵值進(jìn)行持久化存儲(chǔ)的對(duì)象Map --> Hashtable的子類(lèi)
用于屬性配置文件鍵和值都是字符串類(lèi)型
特點(diǎn): 可以持久化存儲(chǔ)數(shù)據(jù), 鍵值都是字符串, 一般用于配置文件
load(); 將流中的數(shù)據(jù)加載進(jìn)集合原理其實(shí)就是將讀取流和指定文件相關(guān)聯(lián)并讀取一行數(shù)據(jù)因?yàn)閿?shù)據(jù)是規(guī)則的key=value 所以獲取一行后通過(guò)= 對(duì)該行數(shù)據(jù)進(jìn)行切割左邊就是鍵右邊就是值將鍵值存儲(chǔ)到properties集合中
store(); 寫(xiě)入各個(gè)項(xiàng)后刷新輸出流
list(); 將集合的鍵值數(shù)據(jù)列出到指定的目的地
總結(jié)
以上是生活随笔為你收集整理的java常见_Java 常用类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 有哪些反射机制_Java 的反
- 下一篇: mysql 8.1初始密码_MySQL8