日期
類Date:
Date da1 = new Date(); //當(dāng)前時(shí)間
Date da2 = new Date(System.currentTimeMillis()+100); //當(dāng)前時(shí)間后100ms
boolean after(Date when) //判斷該日期是否在指定日期之后
boolean before(Date when) //判斷該日期是否在指定日期之前
long getTime();? //獲取時(shí)間
void setTime() //設(shè)置該對(duì)象時(shí)間
類Calendar:? 是抽象類蕴坪,代替Date坷虑,是所有日歷類的模板兜材,提供了GregorianCalendar子類桩引,創(chuàng)建返回該子類實(shí)例
? Calendar calendar = Calendar.getInstance();
? void add(int field,int amount) //為給定的日歷字段或減去指定的時(shí)間量
? int get(int field)? //獲取指定日歷字段的值
? int getActualMaximum(int field)? //返回給定字段的最大值请梢,如月诱担,最大值11
? int getActualMinimum(int field)? //返回給定字段的最小值鸡号,如月,最小值0
? void roll(int field,int amount)? //和add()類似,區(qū)別是不會(huì)進(jìn)位
? void set(int field,int value)? //給定字段設(shè)值赔癌,延遲修改诞外,在下次調(diào)用獲取時(shí)間方法
? //或時(shí)間加減方法時(shí)才計(jì)算
? void set(int year,int month,int date)? 設(shè)置年月日三個(gè)字段值
? void set(int year,int month,int date,int hourOFDay,int minute,int second)
? //設(shè)置年月日時(shí)分秒值
? setlenient(false);? //關(guān)閉兼容性,? 設(shè)置不合法數(shù)據(jù)會(huì)報(bào)錯(cuò)灾票。
類DateFormat: 抽象類 ,轉(zhuǎn)換的格式是固定的
DateFormat df = DateFormat.getInstance();
DateFormat df = DateFormat.getInstance();
Date d = new Date();
String time = df.format(d);
df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
time = df.format(d);
Date d = df.parse(time);
類SimpleDateFormat: DateFormat子類,支持自定義格式模式
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern("yyyy/mm/dd");
String time = sdf.format(new Date);
Date d = sdf.parse(time);
//yMdHms:年月日時(shí)分秒
隨機(jī)數(shù)
類Random: Random類用于生產(chǎn)一個(gè)偽隨機(jī)數(shù)(通過相同的種子,產(chǎn)生的隨機(jī)數(shù)是相同的)峡谊。
Random ran = new Random();
public Random():使用默認(rèn)的種子(以當(dāng)前系統(tǒng)時(shí)間作為種子)。
public Random(long seed):根據(jù)指定的種子刊苍。
ran.nextBoolean();
ran.nextDouble();
ran.nextInt();
ran.nextInt(10);
類ThreadLocalRandom: Java7,是Random類的子類靖苇,是線程安全的
因構(gòu)造器是默認(rèn)權(quán)限,要通過ThreadLocalRandom.current()返回當(dāng)前類對(duì)象
ThreadLocalRandom random = ThreadLocalRandom.current();
random.nextInt(34,179);//生產(chǎn)(34,179)之間的隨機(jī)數(shù)
類UUID: 通用惟一識(shí)別:Universally Unique Identifier班缰; 在一臺(tái)機(jī)器上生成的數(shù)字,
? ? ? 它保證對(duì)在同一時(shí)空中的所有機(jī)器都是唯一的悼枢。UUID是一個(gè)128位長(zhǎng)的數(shù)字埠忘,一般用16進(jìn)制表示。算法的核心思想是結(jié)合機(jī)器的網(wǎng)卡馒索、當(dāng)?shù)貢r(shí)間莹妒、一個(gè)隨即數(shù)來(lái)生成UUID.
? ? ? 我們一般用來(lái)表示:隨機(jī)的唯一的字符串.
String uuid = UUID.randomUUID().toString();
字符串
CharSequence接口
實(shí)現(xiàn)類:String,StringBuffer,StringBuilder,CharBuffer,Segment
String:
String的創(chuàng)建和轉(zhuǎn)換:
byte[] getBytes():把字符串轉(zhuǎn)換為byte數(shù)組
char[] toCharArray():把字符串轉(zhuǎn)換為char數(shù)組
String(byte[] bytes):把byte數(shù)組轉(zhuǎn)換為字符串
String(char[] value):把char數(shù)組轉(zhuǎn)換為字符串
獲取字符串信息
int length() 返回此字符串的長(zhǎng)度
char charAt(int index) 返回指定索引處的 char 值
int indexOf(String str)返回指定子字符串在此字符串中第一次出現(xiàn)處的索引。
int lastIndexOf(String str)返回指定子字符串在此字符串中最右邊出現(xiàn)處的索引
int indexOf(int ch);//
int lastIndexOf(int ch);//
字符串比較判斷
boolean equals(Object anObject) //比較绰上。
boolean equalsIgnoreCase(String anotherString) //比較不考慮大小寫
boolean contentEquals(StringBuilder cs) //內(nèi)容比較
String concat(String str);//連接字符串
boolean startsWith(String prefix);
boolean startsWith(String prefix,int toffset);//從toffset位置起是否以prefix開始
String replace(char oldChar,char newChar);//替換
String substring(int beginIndex);
String substring(int beginIndex,int endIndex);
static String valueOf(X x);//基本類型轉(zhuǎn)換成字符串
字符串大小寫轉(zhuǎn)換
String toUpperCase()? 把當(dāng)前字符串轉(zhuǎn)換為大寫(誰(shuí)調(diào)用該方法,誰(shuí)就是當(dāng)前字符)
String toLowerCase()? 把當(dāng)前字符串轉(zhuǎn)換為小寫
StringBuffer:
????方法與String相同;
StringBuilder:
????方法與String相同;
注意:Sting是不可變的,每次內(nèi)容改變都會(huì)在內(nèi)存中創(chuàng)建新的對(duì)象,做字符串拼接,性能極低.
拼接字符串要使用StringBuffer/StringBuilder,不要使用String.
StringBuffer和StringBuilde區(qū)別(建議使用StringBuilder):
? StringBuffer和StringBuilder都表示可變的字符串,功能方法都是相同的.
? 唯一的區(qū)別:
? StringBuffer:? StringBuffer中的方法都使用了synchronized修飾符,
? 表示同步的,在多線程并發(fā)的時(shí)候可以保證線程安全,保證線程安全的時(shí)候,性能(速度)較低.
? StringBuilder:StringBuilder中的方法都沒有使用了synchronized修飾符,不安全,但是性能較高.