這篇文章主要介紹了JavaSE常用類及方法是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)主營(yíng)新北網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開發(fā),新北h5重慶小程序開發(fā)搭建,新北網(wǎng)站營(yíng)銷推廣歡迎新北等地區(qū)企業(yè)咨詢
1、基本數(shù)據(jù)類型比較用:==
2、引用數(shù)據(jù)類型比較用:equals方法
如果引用數(shù)據(jù)類型使用==比較的話,比較的是地址值
toString類
對(duì)象調(diào)用toString()需要重寫本方法: 在封裝類中,否則輸出的是地址
equals方法
'對(duì)象' 調(diào)用equals()需要重寫本方法: 在封裝類中重寫,否則進(jìn)行比較時(shí)比較的是地址
String類
String有一個(gè)切割split,按一個(gè)字符串進(jìn)行切割,返回切割之后的字符串?dāng)?shù)組
String[] split(String regex)
public int length () :返回此字符串的長(zhǎng)度。
public String concat (String str) :將指定的字符串連接到該字符串的末尾。
public char charAt (int index) :返回指定索引處的 char值。
public int indexOf (String str) :返回指定子字符串第一次出現(xiàn)在該字符串內(nèi)的索引。
public int indexOf(String str, int fromIndex) :返回指定子字符串在此字符串中第一次出現(xiàn)處的索引,從指定的索引開始。
public String substring (int beginIndex) :返回一個(gè)子字符串,從beginIndex開始截取字符串到字符串結(jié)尾。
public String substring (int beginIndex, int endIndex) :返回一個(gè)子字符串,從beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。
public String replace (CharSequence target, CharSequence replacement) :將與target匹配的字符串使用replacement字符串替換。
StringBuilder類
String Builder在內(nèi)存中相當(dāng)于一個(gè)緩沖容器,會(huì)隨著內(nèi)存的關(guān)閉而消失,在地址內(nèi)存中進(jìn)行字符拼接時(shí) 不創(chuàng)建所添加字符的內(nèi)存地址 節(jié)省了內(nèi)存空間
StringBuilder() 構(gòu)造一個(gè)沒有字符的字符串構(gòu)建器,初始容量為16個(gè)字符。
StringBuilder(String str) 構(gòu)造一個(gè)初始化為指定字符串內(nèi)容的字符串構(gòu)建器
StringBuilder sb = new StringBuilder();
public StringBuilder append(任意類型):添加數(shù)據(jù),并返回對(duì)象本身(支持鏈?zhǔn)秸{(diào)用)。
public StringBuilder reverse():字符序列進(jìn)行反轉(zhuǎn)
public String toString():返回此序列中數(shù)據(jù)的字符串表示形式。 轉(zhuǎn)為String
append方法弊端:它可以拼接任意類型,但是拼接完畢,都變成字符串
Arrays類
public static String toString(int[] a):把數(shù)組轉(zhuǎn)成字符串
public static void sort(int[] a):對(duì)數(shù)組進(jìn)行升序排序
包裝類與String類互相轉(zhuǎn)換
int 類型直接拼接字符串可轉(zhuǎn)為String類型
int->String
1+""
String.valueOf()方法可以將基本類型數(shù)據(jù)轉(zhuǎn)為String類型
String.valueOf(數(shù)據(jù));
包裝類.ParseXXX方法可以將基本類型轉(zhuǎn)為String類型 注意基本類型必須轉(zhuǎn)為相對(duì)應(yīng)的包裝類,以下是int轉(zhuǎn)String例子
int->String(重點(diǎn))
Integer.parseInt("100")
Date類
在java,有一個(gè)java.util.Date,表示日期時(shí)間的,精確到毫秒值
Date類的構(gòu)造方法:
Date() 無參構(gòu)造方法:以當(dāng)前的系統(tǒng)時(shí)間來創(chuàng)建出一個(gè)Date對(duì)象
Date(long date):根據(jù)指定的毫秒值,創(chuàng)建出一個(gè)Date對(duì)象。 指定的毫秒值,從1970年1月1日(計(jì)算機(jī)的基準(zhǔn)時(shí)間)起經(jīng)過的毫秒值
常用方法:
public long getTime() 把日期對(duì)象轉(zhuǎn)換成對(duì)應(yīng)的時(shí)間毫秒值。
void setTime(long time) 將此 Date對(duì)象設(shè)置為1970年1月1日00:00:00 起經(jīng)過的毫秒值
//請(qǐng)打印出1970年1月2號(hào)的時(shí)間的對(duì)象 Date date2 = new Date(24 * 60 * 60 * 1000); System.out.println(date2); //獲取當(dāng)前時(shí)間的毫秒值 Date date = new Date(); System.out.println(date.getTime()); //將date,改成1970年1,月1號(hào) date.setTime(0); System.out.println(date);
SimpleDateFormat類
可以使用DateFormat類,但是它是一個(gè)抽象類,所以我們要用它的子類 SimpleDateFormat構(gòu)造方法
SimpleDateFormat(String pattern) 使用給定模式構(gòu)建一個(gè) SimpleDateFormat ,默認(rèn)日期格式符號(hào)為默認(rèn)的 FORMAT區(qū)域設(shè)置。
參數(shù)pattern就是模式
字母模式:y表示面 M表示月 d表示日 H表示時(shí) m表示分 s表示秒 S表示毫秒
中國(guó)式時(shí)間: 2019年3月11日 11點(diǎn) 09分 33秒 333毫秒
代碼的字母模式: yyyy年MM月dd日 HH點(diǎn)mm分ss秒 SSS毫秒
成員方法 :
格式化(日期 -> 文本): Date -- String
public final String format(Date date)
解析(文本 -> 日期): String -- Date
public Date parse(String source)
//根據(jù)系統(tǒng)時(shí)間創(chuàng)建Date對(duì)象 Date date = new Date(); System.out.println(date); //date不好看,格式化為中國(guó)式時(shí)間 //SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH點(diǎn)mm分ss秒 SSS毫秒"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM-dd HH:mm:ss"); //將date格式化為String String time = sdf.format(date); System.out.println(time); //注意,我們一般人不會(huì)記憶毫秒值,能不能根據(jù)具體的時(shí)間(2019-03-11 11:16:02)解析成毫秒值 //ParseException: Unparseable date: "2018年03-11 11:18:57",注意,模式必須與之前一致 Date date1 = sdf.parse("2018年03-11 11:18:57"); System.out.println(date1); System.out.println(date1.getTime());
Calendar類
Calendar為抽象類,由于語(yǔ)言敏感性,Calendar類在創(chuàng)建對(duì)象時(shí)并非直接創(chuàng)建,而是通過靜態(tài)方法創(chuàng)建,返回子類對(duì)象
根據(jù)Calendar類的API文檔,常用方法有:
public int get(int field):返回給定日歷字段的值。
public void set(int field, int value):將給定的日歷字段設(shè)置為給定值。
public abstract void add(int field, int amount):根據(jù)日歷的規(guī)則,為給定的日歷字段添加或減去指定的時(shí)間量。
public Date getTime():返回一個(gè)表示此Calendar時(shí)間值(從歷元到現(xiàn)在的毫秒偏移量)的Date對(duì)象。
Calendar類中提供很多成員常量,代表給定的日歷字段:
字段值 | 含義 |
YEAR | 年 |
MONTH | 月(從0開始,可以+1使用) |
DAY_OF_MONTH | 月中的天(幾號(hào)) |
HOUR | 時(shí)(12小時(shí)制) |
HOUR_OF_DAY | 時(shí)(24小時(shí)制) |
MINUTE | 分 |
SECOND | 秒 |
DAY_OF_WEEK | 周中的天(周幾,周日為1,可以-1使用) |
import java.util.Calendar; public class CalendarUtil { public static void main(String[] args) { //get方法 // 創(chuàng)建Calendar對(duì)象 Calendar cal = Calendar.getInstance(); // 設(shè)置年 int year = cal.get(Calendar.YEAR); // 設(shè)置月 int month = cal.get(Calendar.MONTH) + 1; // 設(shè)置日 int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); //set方法 Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2020); //add方法 cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天 cal.add(Calendar.YEAR, -3); // 減3年 //getTime方法 Date date = cal.getTime(); } }
System類
public static long currentTimeMillis():返回以毫秒為單位的當(dāng)前時(shí)間。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):將數(shù)組中指定的數(shù)據(jù)拷貝到另一個(gè)數(shù)組中。
currentTimeMillis方法
import java.util.Date; public class SystemDemo { public static void main(String[] args) { //獲取當(dāng)前時(shí)間毫秒值 System.out.println(System.currentTimeMillis()); // 1516090531144 } }
arraycopy方法
參數(shù)序號(hào) | 參數(shù)名稱 | 參數(shù)類型 | 參數(shù)含義 |
1 | src | Object | 源數(shù)組 |
2 | srcPos | int | 源數(shù)組索引起始位置 |
3 | dest | Object | 目標(biāo)數(shù)組 |
4 | destPos | int | 目標(biāo)數(shù)組索引起始位置 |
5 | length | int | 復(fù)制元素個(gè)數(shù) |
import java.util.Arrays; public class Demo11SystemArrayCopy { public static void main(String[] args) { int[] src = new int[]{1,2,3,4,5}; int[] dest = new int[]{6,7,8,9,10}; System.arraycopy( src, 0, dest, 0, 3); /*代碼運(yùn)行后:兩個(gè)數(shù)組中的元素發(fā)生了變化 src數(shù)組元素[1,2,3,4,5] dest數(shù)組元素[1,2,3,9,10] */ } }
Random類
構(gòu)造方法:
Random() 創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器。
成員方法 :
int nextInt() 從這個(gè)隨機(jī)數(shù)生成器的序列返回下一個(gè)偽隨機(jī)數(shù),均勻分布的 int值。
int nextInt(int bound) ,均勻分布 返回值介于0(含)和指定值bound(不包括),從該隨機(jī)數(shù)生成器的序列繪制
Random random = new Random(); /*for (int i = 0; i < 10; i++) { System.out.println(random.nextInt()); }*/ /*for (int i = 0; i < 10; i++) { int j = random.nextInt(10); System.out.println(j); }*/ //來一個(gè)隨機(jī)值,這個(gè)數(shù)據(jù)的范圍必須是1~100,33~66 54~78 //random.nextInt(100);//0~99 +1 -> 1~100 /*33~66 - 33 -> 0~33 for (int i = 0; i < 10; i++) { System.out.println(random.nextInt(34) + 33); }*/ //54~78 - 54 -> 0~24 for (int i = 0; i < 10; i++) { System.out.println(random.nextInt(25) + 54); }
比較器Comparable<T> 和 Comparator<T>
java.lang Comparable<T> : 該接口對(duì)實(shí)現(xiàn)它的每個(gè)類的對(duì)象強(qiáng)加一個(gè)整體排序。 這個(gè)排序被稱為類的自然排序 ,類的compareTo方法被稱為其自然比較方法 。
java中規(guī)定 某個(gè)類只要實(shí)現(xiàn)了Comparable 接口之后,才能通過重寫compareTo()具備比較的功能。
抽象方法:
int compareTo(T o) 將此對(duì)象(this)與 指定( o )的對(duì)象進(jìn)行比較以進(jìn)行排序。
this > o : 返回正數(shù)
this = o : 返回0
this < o : 返回負(fù)數(shù)
' this - o : 表示按照升序排序。 o - this : 表示按照降序排序。
' 小結(jié) : 如果Java中的對(duì)象需要比較大小,那么對(duì)象所屬的類要實(shí)現(xiàn)Comparable接口,然后重寫compareTo(T o)實(shí)現(xiàn)比較的方式。
public class Student implements Comparable<Student>{ .... @Override public int compareTo(Student o) { return this.age-o.age;//升序 } }
java.util Comparator<T> : 比較器接口。
抽象方法:
int compare( T o1, T o2 ) 比較其兩個(gè)參數(shù)的大小順序。
比較器接口的使用場(chǎng)景:
1. Arrays.sort() : static <T> void sort( T[] a, Comparator c)
2. Collections 集合工具類 : void sort(List<T> list, Comparator<> c) 根據(jù)指定的比較器給集合中的元素進(jìn)行排序。
3. TreeSet 集合 : 構(gòu)造方法 TreeSet( Comparator c )
補(bǔ)充 : 在后面我還會(huì)介紹JDK1.8 的新特性(Lambda 函數(shù)式代碼優(yōu)化) 進(jìn)行優(yōu)化此類接口
ArrayList<String> list = new ArrayList<String>(); list.add("cba"); list.add("aba"); list.add("sba"); list.add("nba"); //排序方法 按照第一個(gè)單詞的降序 Collections.sort(list, new Comparator<String>() { @Override public int compare(String o1, String o2) { int rs = o2.getCj() - o1.getCj(); return rs==0 ? o1.getAge()-o2.getAge():rs; // return o2.charAt(0) - o1.charAt(0); } }); System.out.println(list);
Comparable 和 Comparator 區(qū)別:
Comparable : 對(duì)實(shí)現(xiàn)了它的類進(jìn)行整體排序。
Comparator : 對(duì)傳遞了此比較器接口的集合或數(shù)組中的元素進(jìn)行指定方式的排序。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享JavaSE常用類及方法是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!
當(dāng)前名稱:JavaSE常用類及方法是什么
本文地址:http://bm7419.com/article14/jdssde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、小程序開發(fā)、域名注冊(cè)、商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)