instanceof關(guān)鍵字
可以用instanceof來(lái)判斷一個(gè)對(duì)象是不是一個(gè)類(lèi)的實(shí)例侥猩。
返回值為boolean類(lèi)型
A a = new A(); B a = new B(); System.out.println(a instanceof A); System.out.println(b instanceof B);
java 范型
通配符
public class tongpeifu { public static void main(String[] args){ Generic<String> i = new Generic<String>(); i.setKey("tongpeifu"); } public static void tell(Generic<?> i){//這里用的通配符就是代替了類(lèi)型T System.out.println(i.getKey()); }; } class Generic<T>{ private T key; public T getKey() { return key; } public void setKey(T key) { this.key = key; } }
范型方法
public <T>T tell(T t){//這里調(diào)用方法時(shí)可傳入任何類(lèi)型 return t; }
范型數(shù)組
public <T> void tell(T arr[]){ for (T t : arr) { System.out.println(t); } }
java中的時(shí)間和日期的處理
在java中使用Data類(lèi)來(lái)實(shí)現(xiàn)時(shí)間和日期的轉(zhuǎn)換狠鸳,使用Dataformat類(lèi)走趋,來(lái)實(shí)現(xiàn)時(shí)間和日期的格式化向胡。由于國(guó)際化的問(wèn)題,Date類(lèi)不建議使用定欧,更好的是使用Calendar類(lèi)辈双。
package com.file;
import java.util.Calendar;
import java.util.Date;
/**
* Created by elijahliu on 2017/2/13.
*/
public class CalenderDemo {
public static void main(String[] args){
long now = System.currentTimeMillis();
/* System.out.println("now=" + now);//輸出當(dāng)前時(shí)間*/
Date dl = new Date(now);
System.out.print("dl"+dl);
Calendar cl = Calendar.getInstance();//創(chuàng)建實(shí)例化對(duì)象
System.out.println("cl = "+cl.getTime().toString());
}
}
常用的轉(zhuǎn)化
String-》日期
日期-》String
package com.file;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Created by elijahliu on 2017/2/13.
*/
public class CalenderDemo {
public static void main(String[] args) {
Date dl = new Date(System.currentTimeMillis());
Calendar cl = Calendar.getInstance();
//格式化
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyy-MM-dd hh:mm:ss");
System.out.println("格式化前:dl = " + dl.toString());
System.out.println("格式化后:dl = " + simpleDateFormat.format(dl));
//String 和 date 轉(zhuǎn)換
String date = "2017-06-01";
SimpleDateFormat simpleDateFormat11 = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d2 = simpleDateFormat11.parse(date);//返回值是一個(gè)Date類(lèi)型的
System.out.println("String轉(zhuǎn)換為Date,d2=" + d2.toString());
//Date類(lèi)型轉(zhuǎn)換為String類(lèi)型
String s1 = simpleDateFormat11.format(d2);
System.out.println("Date轉(zhuǎn)換為String馏段,s1 = " + s1);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
一個(gè)小的Demo:
設(shè)定女朋友的生日(我還是單身狗轩拨。。院喜。)亡蓉,并且在兩個(gè)星期前的星期六提醒
package com.file;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* Created by elijahliu on 2017/2/13.
*/
public class BirthdayDemo {
public static void main(String[] args) throws ParseException {
//設(shè)定生日,String
String birthday = "2017-4-13";
//將String類(lèi)型轉(zhuǎn)化為日期
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = simpleDateFormat.parse(birthday);//String 轉(zhuǎn)化為Date
//對(duì)日期進(jìn)行計(jì)算
Date spec = prepareBirthday(date);
//將計(jì)算后的結(jié)果够坐,轉(zhuǎn)換為String類(lèi)型寸宵,輸出
String s2 = simpleDateFormat.format(spec);
System.out.println(s2);
}
public static Date prepareBirthday(Date birthdayDate){
Calendar calendar = new GregorianCalendar();//calendar 類(lèi)是一個(gè)抽象類(lèi) 所以用他的子類(lèi)來(lái)聲明對(duì)象
calendar.setTime(birthdayDate);//接受date日期,轉(zhuǎn)換為Calendar類(lèi)
calendar.add(Calendar.WEEK_OF_MONTH,-2);//提前兩周
calendar.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);//調(diào)整為當(dāng)前星期的周六
return calendar.getTime();
}
}