java 新特性 列舉

2021-09-01 03:15:19 字數 2503 閱讀 3487

列舉就是要某個型別的變數的取值只能是幾個固定值中的某乙個,否則,編譯器就會報錯,列舉可以讓編譯器在編譯時就可以控制程式中填寫的非法值,普通變數的方式無法實現這一目標;

列舉的實現:

package learn;

/** * 列舉

* @author hui

*/public class enumtest

}在上面的類中,自己定義了乙個型別weekday,建立乙個自己的列舉類weekday_1;

package learn;
public class weekday_1 ;

public static final weekday_1 sun = new weekday_1() ;//星期天

public static final weekday_1 mon = new weekday_1() ;//星期一

public static final weekday_1 tus = new weekday_1() ;//星期二

public static final weekday_1 wen = new weekday_1() ;//星期三

public static final weekday_1 thur = new weekday_1() ;//星期四

public static final weekday_1 fri = new weekday_1() ;//星期五

public static final weekday_1 sat = new weekday_1() ;//星期六

/*

* 他有乙個方法,返回下一天

* */

public weekday_1  nextday() else

if(this==mon)else if(this==tus)else

if(this==wen)else if(this==thur)else

if(this==fri)else

}

/**

* 重寫tostring()方法

*/public string tostring() else if (this == mon) else if (this == tus) else if (this == wen) else if (this == thur) else if (this == fri) else

}}

上面的方法,如果因為if..else..太過繁瑣,可以寫成:
package learn;
public abstract class weekday
//使用內部類的方式來實現nextday
public static final weekday sun = new weekday() 

}; public static final weekday mon = new weekday()

}; public static final weekday tus = new weekday()

}; public static final weekday wen = new weekday()

}; public static final weekday thur = new weekday()

}; public static final weekday fri = new weekday()

}; public static final weekday sat = new weekday()

};

/*

* public weekday nextday() else

* if(this==mon)else if(this==tus)else

* if(this==wen)else if(this==thur)else

* if(this==fri)else }

*/

public abstract weekday nextday();
public string tostring()  else if (this == mon)  else if (this == tus)  else if (this == wen)  else if (this == thur)  else if (this == fri)  else 

}}

使用jdk自帶的列舉:

package learn;

/*** 列舉

* @author hui**/

public class enumtest

/*** 列舉

* @author hui**/

public enum weekday_2

}

Java 新特性 列舉

package cn.enum.robertchao public enum color1 可以通過 列舉.內容 的形式進行取值操作。2 輸出列舉中的全部內容,可以使用foreach完成。利用foreach把列舉型別中的內容全部取出。package cn.enum.robertchao public...

java新特性 列舉 註解

一 列舉 1.首先列舉中在jdk1.5以後才有的。基於列舉的開發 2.enum類 enum類是enum類的父類,enum其實質就相當於是class類。在enum類中有如下三個方法 1 構造方法 protected enum string name,int ordinal 2 取得列舉名字 publi...

java新特性 萬用字元

在程式類中追加了泛型之後,避免了classcastexception的問題,同時又產生了引數統一化的問題。為了解決該問題,產生了新特性萬用字元,可以接受所有的泛型型別,但不能讓使用者隨意更改。該特性從jdk1.5之後出現。有以下三種常見的萬用字元 extends number 表示泛型型別只能是nu...