java 枚举类型

Blender骨骼绑定实战:如何用IK控制器让角色动作更自然(附常见问题解决) 本文深入探讨了Blender中IK控制器的实战应用,旨在解决角色动作僵硬问题。通过对比IK与FK的核心差异,详细解析了IK链的构建、参数设置及极向目标的使用,并提供了控制器定制、IK/FK无缝切换等高级技巧,帮助动画师实现更自然、符合直觉的角色动画。 阅读详情

枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:

    Java代码

    public enum Color{

    RED,BLUE,BLACK,YELLOW,GREEN

    }

 

 

    public enum Color{

    RED,BLUE,BLACK,YELLOW,GREEN }

 

    显然,enum很像特殊的class,实际上enum声明定义的类型就是一个类。而这些类都是类库中Enum类的子类(java.lang.Enum<E>)。它们继承了这个Enum中的许多有用的方法。下面我们就详细介绍enum定义的枚举类的特征及其用法。(后面均用Color举例)

 

    1、Color枚举类是特殊的class,其枚举值(RED,BLUE...)是Color的类对象(类实例):Color c=Color.RED;而且这些枚举值都是public static final的,也就是我们经常所定义的常量方式,因此枚举类中的枚举值最好全部大写。

 

    2、即然枚举类是class,当然在枚举类型中有构造器,方法和数据域。但是,枚举类的构造器有很大的不同:(1) 构造器只是在构造枚举值的时候被调用。

 

    Java代码

    enum Color{

    RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),YELLOW(255,255,0),GREEN(0,255,0); //构造枚举值,比如RED(255,0,0)

   

    private int redValue;  //自定义数据域,private为了封装。

    private int greenValue;

    private int blueValue;

 

     private Color(int rv,int gv,int bv){

           this.redValue=rv;

           this.greenValue=gv;

          this.blueValue=bv;

    }

 

    public String toString(){ //自定义的public方法

    return super.toString()+"("+redValue+","+greenValue+","+blueValue+")";

    }

 

 

    }

 

    enum Color{

    RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),YELLOW(255,255,0),GREEN(0,255,0); //构造枚举值,比如RED(255,0,0) private Color(int rv,int gv,int bv){ this.redValue=rv; this.greenValue=gv; this.blueValue=bv;

    }

    public String toString(){ //自定义的public方法

    return super.toString()+"("+redValue+","+greenValue+","+blueValue+")";

    }

    private int redValue;  //自定义数据域,private为了封装。

    private int greenValue;

    private int blueValue;

    }     

 

(2) 构造器只能私有private,绝对不允许有public构造器。这样可以保证外部代码无法新构造枚举类的实例。这也是完全符合情理的,因为   我们知道枚举值是public static final的常量而已。 但枚举类的方法和数据域可以允许外部访问。

 

    Java代码

    public static void main(String args[])

    {

    // Color colors=new Color(100,200,300);  //wrong

    Color color=Color.RED;

    System.out.println(color);  // 调用了toString()方法

    }

    public static void main(String args[])

    {

    // Color colors=new Color(100,200,300);  //wrong

    Color color=Color.RED; 

    System.out.println(color);  // 调用了toString()方法

    }

 

    3、所有枚举类都继承了Enum的方法,下面我们详细介绍这些方法。

    (1)  ordinal()方法: 返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。

    Color.RED.ordinal();  //返回结果:0 Color.BLUE.ordinal();  //返回结果:1

 

(2)  compareTo()方法: Enum实现了java.lang.Comparable接口,因此可以比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差。当然,前提是两个枚举值必须属于同一个枚举类,否则会抛出ClassCastException()异常。(具体可见源代码) Color.RED.compareTo(Color.BLUE);  //返回结果 -1

 

(3)  values()方法: 静态方法,返回一个包含全部枚举值的数组。

    Color[] colors=Color.values();

    for(Color c:colors){

    System.out.print(c+","); }//返回结果:RED,BLUE,BLACK YELLOW,GREEN, (4)  toString()方法: 返回枚举常量的名称。

    Color c=Color.RED; System.out.println(c);//返回结果: RED (5)  valueOf()方法: 这个方法和toString方法是相对应的,返回带指定名称的指定枚举类型的枚举常量。

    Color.valueOf("BLUE");   //返回结果: Color.BLUE (6)  equals()方法: 比较两个枚举类对象的引用。

    Java代码

    //JDK源代码:

    public final boolean equals(Object other) {

    return this==other;

    }

    //JDK源代码:

    public final boolean equals(Object other) {

    return this==other;

    }

 

 

    4、枚举类可以在switch语句中使用。

    Java代码

    Color color=Color.RED;

    switch(color){

    case RED: System.out.println("it's red");break;

    case BLUE: System.out.println("it's blue");break;

    case BLACK: System.out.println("it's blue");break;

    }

 

 

嵌入式Linux&Android开发-环境搭建 目录 一、环境要求 二、相关软件&SDK下载 三、环境安装 3.1 VMware Worksation 3.2 Ubuntu1804 3.3 VSCode安装 3.4 Samba服务器搭建 一、环境要求 编译 Android 对机器的配置要求较高: 64 位 CPU 大于12GB 物理内存+交换内存(最好16GB以上) 30GB 空闲的磁盘空间用于构建,源码树另外占用大约 25GB, 如果要编译源码则还需要 150GB 的磁盘空间。 RK官方推荐使用 Ubuntu 16.. 阅读详情

相关推荐

WSL2 Ubuntu 22.04安装NVIDIA驱动避坑指南:从驱动版本选择到CUDA环境验证

本文详细介绍了在WSL2 Ubuntu 22.04中安装NVIDIA驱动和配置CUDA环境的完整流程,包括驱动版本选择、环境变量设置以及常见问题解决方案。通过本指南,用户可以避免常见的安装陷阱,确保GPU加速环境正确配置,适用于深度学习开发和CUDA编程。

weixin_28419039的博客 464

【Java】枚举类型

枚举类型是一种特殊的数据类型,用于定义一组固定的命名常量。枚举类型提供了一种更强大、更安全和更易读的方式来表示一组相关的常量。在Java中,枚举类型是通过使用enum关键字来定义的。枚举类型可以包含一个或多个枚举常量,每个常量都是枚举类型的实例。枚举常量是在枚举类型中预先定义的,它们是唯一的、已命名的对象。

qq_61635026的博客 2万+

从零到一:鲲鹏920服务器上的DeepSeek模型部署全流程解析

本文详细解析了在华为鲲鹏920服务器上部署DeepSeek模型的全流程,包括环境准备、模型服务框架部署、性能优化及生产环境方案。通过ARM架构优化和量化技术,显著提升模型推理效率,适用于企业级AI应用场景,助力国产化技术落地。

weixin_29094775的博客 600

Java枚举类型

前言: 回想单例设计模式:单例类是一个类只有一个实例,那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例,这才能是枚举类。枚举类是把变量的值一一列出来,变量的值只限于列举出来的值的范围内。 枚举类型: 1、在Java中,被 enum 关键字修饰的类型就是枚举类型,enum 的全称为 enumeration,它是 JDK 1.5 中引入的新特性。所有的枚举类型都是继承自Enum 类型。 2、它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比...

qq_41946216的博客 1万+

资源描述框架RDF及Turtle

文章目录1. RDF1.1 简介1.2 格式1.3 RDF的要求2. Turtle2.1 语法2.1.1 简单三元组2.1.2 Turtle中的命名空间2.1.3 Base URI2.1.4 谓语列表2.1.5 宾语列表2.1.6 空白节点(bNodes)2.1.7 数据类型2.1.8 Class membership2.1.9 空URI2.1.10 集合 1. RDF 1.1 简介 RDF(Resource Description Framework)语义网的标准数据模型,是一个用于描述 Web 上的资

doublewhite233的博客 2495

SAP PP未清生产订单关闭物料退料、新工单发料批量处理

( werks = '1001' lgort = 'A004' lgobe = '组装-成品组装' )( werks = '1002' lgort = 'C006' lgobe = '组装-二车间' )( werks = '1002' lgort = 'C007' lgobe = '组装-二车间' )( werks = '1001' lgort = 'A007' lgobe = '组装-MS' )( werks = '1001' lgort = 'A008' lgobe = '组装-GW' )

dingqing86的专栏 1193

Java枚举类型介绍

简介         Java的枚举类型用于在某些东西可以枚举出来的时候,我们可以把它定义为枚举类型,然后把其中包含的可选值一一枚举。打个比方,我们现在有一堆数字,大致可以分为四种类型,整型、浮点型、金额和百分比。整型的我就需要按整型显示,如果是浮点型则要求保留两位小数,如果是金额则要求按千分位展示,如果是百分比则要求显示对应的百分比。为此我们就定义了一个枚举类型NumberType,其一共四个枚

Elim的博客 7976

MATLAB 与 STK 互联导出导弹轨迹及速度数据(csv导出)

本文介绍了如何通过 MATLAB 脚本连接 STK 提取导弹三维轨迹数据,并以 CSV 格式导出,包含以下关键内容:自动连接 STK 场景;获取所有导弹对象;提取 J2000 坐标系下的位置和速度;加入任务优先级与状态;导出为标准 CSV 文件;

weixin_52370774的博客 781

Java基础_枚举类型

Java面试_枚举类型一、Java 5 之前定义"枚举类型"二、Java 5之后的枚举类型三、 java.lang.Enum类原码分析三、switch-case 与 枚举1. switch-case2. switch-case与枚举四、 枚举练习1.枚举中的方法2.枚举实现接口 一、Java 5 之前定义"枚举类型" Java 5之前是没有枚举类型的,在Java 5之前程序员们使用以下方式来解决与...

田磊的博客 1781

安全运营面试总结

答案可以在我的博客中查找 1.自我介绍 2.TCP/IP七层模式 3.端口号(常见协议 数据库) 4.Owasp top 10 5.渗透测试过程 6.漏扫工具 7.中间件漏洞 8.应急响应 9.项目 10.SQL注入类型 11.TCP 三次握手 四次挥手 12.你有什么要问我的 1.自我介绍 2.项目介绍 3.宽字节注入的原理 4.渗透流程 5....

qq_51577576的博客 4413

Android16 rk3576添加触摸点数上限到40个点

本文介绍了在Android 16系统上实现40点触摸支持的修改方案。相比Android 15,Android 16对API添加有更严格的要求,需要在MotionEvent.java中添加@FlaggedApi批注。主要修改包括:1)在input_framework.aconfig中定义flag;2)在MotionEvent.java中添加40个AXIS_GENERIC轴常量并添加批注;3)将32位指针ID处理改为64位适配;4)更新相关API文档。修改涉及多个核心文件,包括PointerController

tzj1058756809的博客 382

【JAVA枚举类型】

java枚举类型

d23135的博客 1068

AD22里面封装修改后,同步到PCB图里面

【摘要】本文介绍了Altium Designer 22中同步更新元件封装的三种方法:1)从PCB库直接更新:在PCB库面板右键选择"Update PCB With[封装名]";2)通过原理图标准更新:使用Design->Update PCB Document菜单;3)在PCB编辑器中验证更新:通过Tools->Update From PCB Libraries菜单。所有方法最终都需通过ECO(工程变更订单)确认变更,建议执行前仔细核对变更内容。这些方法适用于AD22及早期版本

whm128的博客 1764

java枚举类型enum的使用

最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。

0溺水的鱼O的专栏 20万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java 枚举类型_Java中的枚举类型详解

枚举类型介绍枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。举个例子来说明一下,如果希望为彩虹描绘出七种颜色,你可以在 Java 程序中通过常量定义方式来实现。Publicstatic cla...

weixin_39613637的博客 949

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java:枚举类型

一个枚举类型是一种特殊的数据类型,使一个变量是一组预定义的常量。变量必须等于一个已经预定义的值。常见的例子包括罗盘方向(NORTH、SOUTH、EAST 和 WEST 的值)和一周的几天。因为它们是常量,枚举类型的字段的名称是大写字母。对于类的对象有限,并且确定的,才可以使用 枚举类型,如:星期:Monday(星期一)、…、Sunday(星期天)性别:Man(男)、Woman(女)季节:Spring(春节)…Winter(冬天)

weixin_61635597的博客 2414

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JAVA 枚举类型详解

JAVA 枚举类型详解前言一、枚举是什么?二、自定义枚举三、JAVA枚举类型总结 前言 JDK1.5之前,只能使用自定义实现枚举,JDK1.5后,引入了枚举类型,本文将从自定义枚举类型的创建开始,详解JAVA的枚举类型。 一、枚举是什么? 可以理解为,一个JAVA类持有本类的N个静态类型属性,且这些属性都是final的,指向的对象不可改变,在初始化时就已确定。在使用时,直接通过类名获取,每个属性均为单例。 二、自定义枚举 代码如下(示例): package com.example.enumTest;

weixin_38730113的博客 1159

java枚举类型

java枚举类型enum 枚举类型是java 5新增特性的一部分,是一种特殊的数据类型(既是一种类类型但是又比类类型多些特殊的约束) 枚举定义的方式: public enum Day{ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }    定义枚举类型使用的关键字是e...

719

JAVA枚举类型

介绍了用普通类去实现java中的枚举类型,并列举了枚举类型最常用的使用方法。

pcg54321的博客 1000

java中枚举类型应该如何使用

枚举类型的使用 在Java中枚举类型的关键字是enum 它的主要作用是给对象中属性的取值规定一个特定的范围,比如说定义一个学生类的sex性别属性,如果给这个属性定义的类型是String类型那么可能会出现类似“人妖”之类的性别,这不是我们想要的,我们想要规定性别只能取’Man’或者’Woman’,这时候我们就可以创建一个枚举类型将里面添加两个常量’Man’和’Woman’ public enum Genders { MAN , WOMAN } 而后我们再将sex的数据类型设置成我们刚刚定义的枚

zlsdgg的博客 1244

Java中的枚举类型

JDK1.5中新增了枚举类型,可以使用该功能取代以往定义常量的方法,同时枚举类型还赋予程序在编译时进行检查的功能。 一、使用枚举类型设置常量 以为设置常量,通常将常量放置在接口中,这样在程序中就可以直接使用,并且该常量不能被修改,因为在接口中定义常量时,该常量的修饰符为final与static。常规定义常量的示例如下: public interface Constants{ pub...

为你灯明三千的博客 578

Java枚举类型 enum

定义 An enum type is a special data type that enables for a variable to be a set of predefined constants. The variable must be equal to one of the values that have been predefined for it. 枚举类型是一...

MengW9的博客 563

Java中的枚举类型Enum

Java中所有的枚举类型都是java.lang.Enum的子类。 1. 定义枚举类型     简单定义一个枚举类型,如下: public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; } 2. 枚举类型的常用方法     可以使用枚举类型的values(

young4u 7981

java枚举是什么类型_Java 枚举类型

Java面向对象设计 - Java枚举类型什么是枚举类型?枚举类型创建常量的有序列表作为类型。它以特定顺序指定常量。在枚举类型中定义的常量是该枚举类型的实例。语法使用关键字enum使用以下语法定义枚举类型: enum {// List of comma separated names of enum constants}与类的访问修饰符相同:public,private,protecte...

weixin_39989688的博客 648
上一篇: 装箱和拆箱的一个例子
下一篇: java 注解
zhugx_java
博客等级 码龄18年 35粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值