日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

JavaSE08——常用类

發(fā)布時(shí)間:2024/1/3 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 JavaSE08——常用类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文章是本人根據(jù)視頻和網(wǎng)上資料整理所寫筆記,可能有不通順或遺漏的地方,請(qǐng)盡量參考學(xué)習(xí)來源處的鏈接去進(jìn)行學(xué)習(xí)。

學(xué)習(xí)來源

【狂神說Java】Java零基礎(chǔ)學(xué)習(xí)視頻通俗易懂:https://www.bilibili.com/video/BV12J41137hu

菜鳥教程: https://www.runoob.com/

Java常用類(一)之Object類詳解 https://www.cnblogs.com/zhangyinhua/p/7715486.html

Random類的使用 https://www.cnblogs.com/libinhong/p/10988902.html

Object類

hashcode()

該方法用于哈希查找,可以減少在查找中使用equals的次數(shù),重寫了equals方法一般都要重寫hashCode方法。這個(gè)方法在一些具有哈希功能的Collection中用到。

一般必須滿足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就滿足equals。不過為了提高效率,應(yīng)該盡量使上面兩個(gè)條件接近等價(jià)。

如果不重寫hashcode(),在HashSet中添加兩個(gè)equals的對(duì)象,會(huì)將兩個(gè)對(duì)象都加入進(jìn)去。

toString()

Object 類的 toString 方法返回一個(gè)字符串,該字符串由類名(對(duì)象是該類的一個(gè)實(shí)例)、at 標(biāo)記符“@”和此對(duì)象哈希碼的無符號(hào)十六進(jìn)制表示組成。
該方法用得比較多,一般子類都有覆蓋。

clone()

Clone()方法的使用比較簡(jiǎn)單,注意如下幾點(diǎn)即可:
         什么時(shí)候使用shallow Clone,什么時(shí)候使用deep Clone,這個(gè)主要看具體對(duì)象的域是什么性質(zhì)的,基本型別還是reference variable
        調(diào)用Clone()方法的對(duì)象所屬的類(Class)必須implements Clonable接口,否則在調(diào)用Clone方法的時(shí)候會(huì)拋出CloneNotSupportedException

getClass()

返回次Object的運(yùn)行時(shí)類類型。
不可重寫,要調(diào)用的話,一般和getName()聯(lián)合使用,如getClass().getName();

notify()

該方法喚醒在該對(duì)象上等待的所有線程。

wait()

wait方法就是使當(dāng)前線程等待該對(duì)象的鎖,當(dāng)前線程必須是該對(duì)象的擁有者,也就是具有該對(duì)象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設(shè)定一個(gè)超時(shí)間隔,

如果在規(guī)定時(shí)間內(nèi)沒有獲得鎖就返回。

equals()

Object中的equals方法是直接判斷this和obj本身的值是否相等,即用來判斷調(diào)用equals的對(duì)象和形參obj所引用的對(duì)象是否是同一對(duì)象,
所謂同一對(duì)象就是指內(nèi)存中同一塊存儲(chǔ)單元,如果this和obj指向的hi同一塊內(nèi)存對(duì)象,則返回true,如果this和obj指向的不是同一塊內(nèi)存,則返回false。
注意:即便是內(nèi)容完全相等的兩塊不同的內(nèi)存對(duì)象,也返回false。
          如果是同一塊內(nèi)存,則object中的equals方法返回true,如果是不同的內(nèi)存,則返回false
          如果希望不同內(nèi)存但相同內(nèi)容的兩個(gè)對(duì)象equals時(shí)返回true,則我們需要重寫父類的equal方法
          String類已經(jīng)重寫了object中的equals方法(這樣就是比較內(nèi)容是否相等了)

Random類

生成隨機(jī)數(shù)

Random類的nextDouble()方法返回的是0.0至1.0之間的double類型值,nextFloat()方法返回的是0.0至1.0之間的float類型值,nextInt(int n)返回的是0(包括)至n(不包括)之間的int值

示例

import java.util.Random;
public class Main{
	public static void main(String[] args)throws Exception{
        Random r=new Random(); 
        System.out.println("產(chǎn)生Float類型隨機(jī)數(shù):"+r.nextFloat());
        System.out.println("產(chǎn)生1~100之間int類型隨機(jī)數(shù):"+r.nextInt(100));
        System.out.println("產(chǎn)生double類型隨機(jī)數(shù):"+r.nextDouble());
	}
}

File類

創(chuàng)建文件

File parentFile= new File(path);

查看文件

查找文件

修改文件

刪除文件

包裝類

自動(dòng)裝箱和拆箱

Date類

Date
SimpleDateFormat

yyyy-MM-dd HH:mm:ss

Calendar(推薦使用)

Math

常見的數(shù)學(xué)運(yùn)算

String類

非線程安全
final
操作量少用String

StringBuffer

可變長(zhǎng)

append()

多線程、大數(shù)據(jù)
效率低,線程安全:StringBuffer中很多方法帶有synchronize關(guān)鍵詞

StringBuilder

可變長(zhǎng)
單線程、大數(shù)據(jù)
效率高,不安全

String值計(jì)算

String str = "a" + 1 + 2; => a12
String str = 'a' + 1 + 2; => a被認(rèn)為是char字符轉(zhuǎn)為了數(shù)字后進(jìn)行了運(yùn)算
String str = 1 + 2 + "a"; => 3a    

總結(jié)

以上是生活随笔為你收集整理的JavaSE08——常用类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。