java枚举转换_java枚举类(转)
枚举类型:
1、我们可以这样来定义一个枚举类型
public enum Color{
Red,Blue,Black,Green;
}
然后可以这样来使用:Color myColor = Color.Red
2、枚举类型提供了两个有用的静态方法 values( ) 和 valueOf( ) 我们可以很方便的使用它们,
例如: for(Color c : Color.values( ))
System.out.println(c);
3、例如:
package Enum;
public class ColorTest {
public static void main(String[] args) {
Color myColor = Color.Red;
System.out.println(myColor);
System.out.println("........................");
for(Color color:Color.values()){
System.out.println(color);
}
}
}
4、在 switch() 括号中一共可以5种类型:char、short、int、long、enum(枚举类型)
可将枚举作为方法的参数,通过在方法中做相应的判断,作出不同的结果。
package Enum;
public class EnumTest01 {
public static void doWhat(OP op){
switch(op){
case TURE_LEFT:
System.out.println("向u24038 转);
break;
case TURE_RIGHT:
System.out.println("向u21491 转);
break;
case SHOOT:
System.out.println("射u20987 ");
break;
}
}
public static void main(String[] args) {
EnumTest01.doWhat(OP.SHOOT);
}
}
enum OP{
TURE_LEFT,TURE_RIGHT,SHOOT;
}
输出结果:射击
5、定义枚举类型时本质上就是定义一个类别,只不过很多细节由编译器帮我们完成了,所以某些程度上,enum关键字的作用 就像是class或interface
6、当我们使用“enum”定义枚举类型时,实质上我们定义出来的类型继承自java.lang.Enum类型,而枚举的成员其实就是我们定义的枚举类型的一个实例(Instance),他们都被预设为final,所以我们无法改变他们,他们也是static成员,所以我们可以通过类型名称直接使用他们,当然最重要的,他们都是公开的(public)。
即,我们定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每一个成员默认都是public static final 的。
而每个枚举的成员其实就是我们定义的枚举类型的一个实例(Instance)。换句话说,当定义了一个枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别是什么。在运行期间我们无法再使用该枚举类型创建新的实例了,这些实例在编译期间就已经完全确定下来了。 所以在:Color myColor = Color.Red 中,没有new Color()。而是直接赋值
package Enum;
public enum Coin {
banjin("半u26020 "),baliang("八u20004 "),qingyuan("清u28170 "),liping("莉u-31731 ");
private String name;
Coin(String name){
this.name = name;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public static void main(String[] args) {
Coin coin = Coin.baliang;
System.out.println(coin.getName());
}
}
输出:八两
7、通过coin.ordinal()来得到枚举所代表的值,即每个枚举元素从0开始,逐一增加
8、
//检查权限之类的,如一个经理、员工、顾客对一个工具的使用权限,一般用枚举来处理 因为这样子可以用来控制传入判断的参数只能够是该枚举类型的数,从而限制传入的参数。
package Enum;
public class AccessControl {
public static boolean checkRight(AccessRight access){
if(access == AccessRight.MANAGER){
return true;
}
else if(access == AccessRight.DEPARMENT){
return false;
}
else
return false;
}
public static void main(String[] args) {
System.out.println(checkRight(AccessRight.DEPARMENT));
}
}
enum AccessRight{
MANAGER,DEPARMENT,EMPLOYEE;
}
通过这样,只能够传递AccessRight类型的参数,其他参数都是不合法的。
9、
static >
T
valueOf(Class enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。
可以这样子使用 AccessRight access = AccessRight.valueOf("MANAGER");//只要AccessRight中有MANAGER的元素就可以返回这个元素,即将String类型转换为AccessRight类型
java枚举转换_java枚举类(转)相关推荐
- java 枚举转换_Java 枚举与字符串的转换
原标题:Java 枚举与字符串的转换 (点击上方公众号,可快速关注) 来源:xieyu_zy 链接:blog.csdn.net/xieyuooo/article/details/8483267 文章简 ...
- java枚举类型转换_java枚举类型enum值与整数的转换
java编程中偶尔会用到枚举,为了直观,我们通常将枚举值设置为形象的单词,方便理解和使用.枚举类型相当于数据库 中字典表,但是枚举只有字典表的值,缺少其他用来表示和值一一对应的字段,当我们在数据库中保 ...
- java枚举 数字_java 枚举
Java中枚举的线程安全性及序列化问题 --枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字 ...
- java枚举数字_Java枚举类型的使用,数值的二进制表示
一.Java枚举类型的使用 首先请看这段代码: packagejava上课;public classEnumTest {public static voidmain(String[] args) { ...
- java枚举数字_Java 枚举 通过数字实例化枚举类型
package com.zjl.domain.enumtype; /** * 枚举类 * * @Author zjl * @Date 2018/06/27 */ public enum EnumTyp ...
- java 枚举 接口_java枚举接口
java中的枚举类 枚举类(enum),与class和interface关键字地位相同. 枚举类是一个特殊的类,可以有自己的成员变量.方法.构造器,可以实现一个或多个接口.一个java源文件中只能有一 ...
- java枚举 赋值_java 枚举 - java 枚举构造函数赋值-java 枚举 set 赋值-嗨客网
Java枚举教程 我们已经了解了 Java枚举详解 语法 [public] enum 枚举类型名称{ 枚举对象1,枚举对象2,枚举对象3...枚举对象n; } 参数 参数 描述 [public] 可选 ...
- java输入枚举型_Java 枚举型为什么是静态的,以及是怎么实现的?
确实,枚举类型总让我们觉着怪怪的,无论是语法还是静态非静态,还是操作方法,总让人觉着它和数组.列表等格格不入.那到底是为什么呢? 我们从本质分析下java的枚举类型. 1 枚举类型初探 枚举类型,其语 ...
- java float转换_Java float转换为String
Java将float转换为String 我们可以使用String.valueOf()和Float.toString()方法在Java中将float转换为String. 情境 如果必须在文本字段中显示浮 ...
- ef 在此上下文中只支持基本类型或枚举类型_Java枚举不应该成为你成功路上得绊脚石,源码给你讲解清楚
现在在面试的过程中,基础得东西占的比重越来越高,尤其是对于Java底层得一些东西,比方说今天得内容---枚举,单纯说这些知识点其实并不难,甚至在日常得工作中用到的都不算多,但是,在面试的过程中会问到你 ...
最新文章
- 这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下...
- 搭建自己的博客(二十六):优化点赞功能,并添加模态登录框
- win7分区软件_小编给你传授 win7系统给硬盘分区的修复方案 -win7系统使用教程...
- comment.html手机文件,comment.html
- ABP理论之CSRF
- 03_java基础(四)之方法的创建与调用
- 怎么样eclipse发达国家多重聚合关系maven项目和使用git管理
- 基于队列的锁:mcs lock简介
- 网站html导出excel插件,使用JQuery插件将HTML的table标签数据导出成excel
- web前端三大主流框架分析对比
- mysql是用啥语言写的_mysql源码是什么语言
- HDU4282 A very hard mathematic problem(二分)
- photoshop cs6视频教程(从入门到精通)
- 微信小程序记事本+后台管理系统
- 哈工大计算机网络MOOC作业题解答
- C语言取模运算符的妙用
- web课程设计-照片记录网站(Flask)【web项目】
- VisionPro——在脚本中调用自己封装的DLL
- 《Sony Vegas Pro 12标准教程》——1.2 Vegas Pro简介
- 统计专用计算机使用年限,『应用』电脑使用时间统计软件--ManicTime
热门文章
- wdr7660虚拟服务器设置,TP-Link TL-WDR7660无线桥接怎么设置?
- CAD如何绘制六连环图案?CAD使用圆,椭圆,直线综合练习
- C语言之结构体 共用体 枚举 typedef
- 网格交易法 | 股票市场低风险稳定盈利的方法
- 华为云服务器安装win10系统,云服务器安装win10
- win11系统项目启动报java.lang.IllegalStateException: Unmapped relationship: 7错误的解决
- 微信小程序实现退款,Java版。
- win7高级搜索计算机,使用win7系统高级搜索功能的方法介绍
- 浪涌测试仪的工作原理
- 苹果CMS-v10系统标签