常用API二
常用API二
一、Object
成員方法:
1、toString(): 重寫前,調用object類中的,打印的是全類名@16進制的地址值 。 重寫後打印具體對象的值
2、equals():重寫前比較的是地址值 重寫後打印的是具體屬性值
3、獲取字節碼對象3種方式(三個獲取的值相等)
A:通過Object類中getClass()方法調用,Teacher t = new Teacher();t.getclass();
B:類名點調用 Teacher.class();
C:通過Class類的靜態方法format()類獲取 Class.forname("全類名");
例子:
package Apiss; public class Zi { public static void main(String[] args) throws ClassNotFoundException { //創建老師對象 Teacher t = new Teacher(); //用對象調用的方法獲取字節碼 Class cl = t.getClass(); //打印字節碼 System.out.println(cl); //用Teacher類點的方法獲取字節碼 Class cl2 = Teacher.class; System.out.println(cl2); //用forName()的靜態方法獲取字節碼 Class cl3 = Class.forName("字節碼.Teacher"); System.out.println(cl3==cl2); System.out.println(cl==cl2); } } //創建Teacher類 class Teacher{ String name; int age; }
結果:
二、System
A:static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :
從src源數組的srcPos索引開始,復制length個元素
從destPost位置開始將這些元素放至到dest數組中
例子:
package Apiss; public class Arraycopyss { public static void main(String[] args) { //創建源數組 int[] arr1 = {1,2,3,4,5}; //創建目標數組 int[] arr2 = new int[5]; //將源數組元素復制到目標數組中 System.arraycopy(arr1, 0, arr2, 0, 5); //遍歷數組 for(int i=0;i<arr2.length;i++){ System.out.print(arr2[i]+" "); } } }
結果:
B: System.exit(int i);//終止當前虛擬機
C: System.currentTimeMillis();獲取當前系統毫秒時間
例子:
package Apiss; public class Systemss { public static void main(String[] args) { // 創建起始時間 long start = System.currentTimeMillis(); // 循環輸出數 for (int i = 0; i < 1000; i++) { System.out.println(i); // 判斷第100個數時 if (i == 100) { // 記錄結束時間 long end = System.currentTimeMillis(); // 打印時間差 System.out.println(end - start); // 終止當前虛擬機 System.exit(0); } } } }
結果:
三、Date
1、構造方法
Date(); 返回的就是從1970-1-1 8:00:00到當前的時間毫秒值
Date(毫秒值); 返回的就是具體傳入毫秒值日期對象
2、成員方法
setTime();
setTime();
例子:
package Apiss; import java.util.Date; public class Datess { public static void main(String[] args) { //創建日期對象 Date d = new Date(); //打印日期 System.out.println(d.toLocaleString()); //獲取當前時間的毫秒值 System.out.println(d.getTime());//1510149157189 //設置時間毫秒值 , 據1970-1-1 8:00:00的毫秒值 d.setTime(1510149157189L); System.out.println(d.toLocaleString()); System.out.println("1970年至今"+1510149335204L/1000/60/60/24/365+"年"); } }
結果:
四、SimpleDateFormat
1、構造方法:SimpleDateFormat() :使用默認的模式進行對象的構建
SimpleDateFormat(String pattern) :使用的指定的模式進行對象的構建
例子:SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
2、成員方法:String format(Date d);將日期對象轉換成一個字符串
Date parse(String s); 將字符串轉成一個日期對象
例子:
package Apiss; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Formate { public static void main(String[] args) throws ParseException { //指定一個日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date date = new Date(); //格式化日期,將日期對象轉化為一個字符串 String s = sdf.format(date); System.out.println(s); //將字符串解析為一個日期對象 Date d = sdf.parse("2017年11月08日 10:00:00"); System.out.println(d.toLocaleString()); } }
結果:
計算出生到現在的小時案例:
package Apiss; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class BirthDays { public static void main(String[] args) throws ParseException { //寫入出生,現在的時間 String birthday = "2000-11-26"; String now = "2017-11-08"; //設置日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //將兩個字符串轉化成日期對象 Date d1 = sdf.parse(birthday); Date d2 = sdf.parse(now); //獲取日期對應的毫秒時間 long l = d1.getTime(); long ll = d2.getTime(); //計算出生到現在的小時 System.out.println("出生到現在經過了"+(ll-l)/1000/60/60/24+"個小時"); } }
結果:
五、Calendar日歷類
1、static Calendar getInstance();使用默認時區和語言環境獲得一個日歷
Calendar c = Calendar.getInstance();//返回當前時間
2、獲取get();
3、修改set();
4、添加add();
例子:
package Apiss; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class GetTimes { public static void main(String[] args) throws ParseException { // 給一個時間字符串 String s = "2017-11-08"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 將字符創轉成日期對象,獲取從1970年1月1日至今的毫秒值 Date d = sdf.parse(s); // 創建日歷對象 Calendar c = Calendar.getInstance(); // 將毫秒值設置到日歷對象 c.setTime(d); // 獲取年 int year = c.get(Calendar.YEAR); // 獲取月(記錄月的索引從0開始) int month = c.get(Calendar.MONTH) + 1; // 獲取日 int day = c.get(Calendar.DAY_OF_MONTH); // 今天是一年中的第幾天 int dayOfYear = c.get(Calendar.DAY_OF_YEAR); System.out.println(s + "是" + year + "年。" + month + "月。" + day + "日。是這一年中的第:" + dayOfYear + "天"); // 獲取周 int week = c.get(Calendar.DAY_OF_WEEK); System.out.println(getWeek(week)); } private static String getWeek(int week) { String[] arr = { "", "周日", "周一", "周二", "周三", "周四", "周五", "周六" }; return arr[week]; } }
結果:
常用API二