JDK特性
靜態(tài)導(dǎo)入
import static java.lang.System;
import static java.lang.Math;
自定義泛型
如:public class MyGenerics<T>
{
??? private T field;
??? public void setField(T f)
??? {
???????? this.field=f;
??? ??? ?//獲得f的類型
??? ??? ?System.out.println(f.getClass());
??? }
??? public T getField()
??? {
???????? return this.field;
??? }
}
泛型
如:Hashtable<Integer,String> s = new Hashtable<Integer,String>();
??? s.put(new Integer(100),"caihui");
??? String name = s.get(new Integer(100));
??? System.out.println(name);
字符串解析(兩種方法)
如:import java.util.StringTokenizer;
??? public class SplitString {
??? ?? public static void main(String[] args) {
??? ?? ?? String src = "hello world";
??? ?? ?? // 方法一
??? ?? ?? StringTokenizer st = new StringTokenizer(src," ");
??? ?? ?? while(st.hasMoreTokens()) {
??? ?? ?? ?? System.out.println(st.nextToken());
??? ?? ?? }
??? ?? ?? // 方法二? split是String類的方法,這里最好用到正則表達(dá)式
??? ?? ?? String s[] = src.split("\\ ");
??? ?? ?? for(int i=0;i<s.length;i++) {
??? ?? ?? ?? System.out.println(s[i]);
??? ?? ?? }
??? ?? }
??? }
枚舉類型
如:
public enum Gender
{
??? MALE,//因?yàn)槭莈num類型,所以為final static的
??? FEMALE
}
1.enum中的每個(gè)常量值都映射到protected Enum(String name,int ordinal)構(gòu)造方法中,每個(gè)值的名稱都被轉(zhuǎn)換成一個(gè)字符串,
并且用序數(shù)表示了每個(gè)設(shè)置的優(yōu)先值。
例如:
? new Enum<Gender>("MALE",0);
? new Enum<Gender>("FEMALE",1);
2.也可以自己定置構(gòu)造方法
public enum Gender
{
??? ? MALE("男"),
??? ? FEMALE("女");
??? ? String sex;
??? ? Gender(String s)
??? ? {
??? ? ??? ? sex=s;
??? ? }
}
3.遍歷枚舉類型
for(Gender gender:Gender.values())
{
??? ? System.out.println(gender)
}
程序會(huì)調(diào)用enum的toString()方法輸出MALE和FEMALE
如:public class TestEnum
{
??? public void methodA(Gender sex)
??? {
??? ??? ? switch(sex)
??? ??? ? {
??? ??? ? ??? ? case MALE:
??? ??? ? ??? ????? System.out.println("男");
??? ??? ? ??? ????? break;
??? ??? ? ??? ? case FEMALE:
??? ??? ? ??? ?????? System.out.println("女");
??? ??? ? ??? ????? break;
??? ??? ? }
??? }
??? public static void main(String args[])
??? {
???????? TestEnum t=new TestEnum();
???????? t.methodA(Gender.FEMALE);//
???????
??? }
}