枚举ENUM的tostring() valueof()name()和values()用法
生活随笔
收集整理的這篇文章主要介紹了
枚举ENUM的tostring() valueof()name()和values()用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從jdk5出現了枚舉類后,定義一些字典值可以使用枚舉類型;
枚舉常用的方法是values():對枚舉中的常量值進行遍歷;
valueof(String name) :根據名稱獲取枚舉類中定義的常量值;要求字符串跟枚舉的常量名必須一致;
獲取枚舉類中的常量的名稱使用枚舉對象.name()
枚舉類中重寫了toString()方法,返回的是枚舉常量的名稱;
其實toString()和value是相反的一對操作。valueOf是通過名稱獲取枚舉常量對象。而toString()是通過枚舉常量獲取枚舉常量的名稱;
package enumTest;public enum Color {RED(0,"紅色"),BLUE(1,"藍色"),GREEN(2,"綠色"),;// 可以看出這在枚舉類型里定義變量和方法和在普通類里面定義方法和變量沒有什么區別。唯一要注意的只是變量和方法定義必須放在所有枚舉值定義的后面,否則編譯器會給出一個錯誤。private int code;private String desc;Color(int code, String desc) {this.code = code;this.desc = desc;}/*** 自己定義一個靜態方法,通過code返回枚舉常量對象* @param code* @return*/public static Color getValue(int code){for (Color color: values()) {if(color.getCode() == code){return color;}}return null;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc = desc;} }測試類
package enumTest;public class EnumTest {public static void main(String[] args){/*** 測試枚舉的values()**/String s = Color.getValue(0).getDesc();System.out.println("獲取的值為:"+ s);/*** 測試枚舉的valueof,里面的值可以是自己定義的枚舉常量的名稱* 其中valueOf方法會把一個String類型的名稱轉變成枚舉項,也就是在枚舉項中查找字面值和該參數相等的枚舉項。*/Color color =Color.valueOf("GREEN");System.out.println(color.getDesc());/*** 測試枚舉的toString()方法*/Color s2 = Color.getValue(0) ;System.out.println("獲取的值為:"+ s2.toString());}總結
以上是生活随笔為你收集整理的枚举ENUM的tostring() valueof()name()和values()用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工业用微型计算机(10)-指令系统(7)
- 下一篇: MySQL中TEXT数据类型的最大长度_