返回顶部
首页 > 资讯 > 精选 >Java 1.5新特性Enum的用法
  • 390
分享到

Java 1.5新特性Enum的用法

2023-06-03 03:06:19 390人浏览 八月长安
摘要

Enum是enumeration(列举)的简写形式,包含在java.lang包中.public enum Season { winter, spring, summer, fall }一个enum是定义一组值的对象,它可以包括零个或多个值成

Enum是enumeration(列举)的简写形式,包含在java.lang包中.
public enum Season { winter, spring, summer, fall }


一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是 用接口的方法实现列举的,[@more@]public interface Season {

static winter = 0;

static spring = 1; //etc..

}

引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象.enum对象的值都回自动获得一个数字值,从0开始,依次递增.看一个比较简单的enum实现的例子:

EnumDemo.java

package net.javagarage.enums;





public class EnumDemo {







private enum Seasons { winter, spring,

summer, fall }



//list the values

public static void main(String[] args) {

for (Seasons s : Seasons.values()){

System.out.println(s);

}

}



}
运行上述代码你回得到 以下结果:

winter

spring

summer

fall

Enum的属性调用:

下面的代码展示了调用enum对象的方法,这也是它通常的用法:

package net.javagarage.enums;





public class EnumSwitch {



private enum Color { red, blue, green }



//list the values

public static void main(String[] args) {

//refer to the qualified value

doIt(Color.red);



}







private static void doIt(Color c){



switch (c) {

case red:

System.out.println("value is " + Color.red);

break;

case green:

System.out.println("value is " + Color.green);

break;

case blue:

System.out.println("value is : " + Color.blue);

break;

default :

System.out.println("default");

}

}
}

为enums添加属性和方法

enums也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样.

package net.javagarage.enums;







public class EnumWithMethods {



//declare the enum and add values to it.



public enum Season {



winter, spring, summer, fall;



private final static String location = "Phoenix";



public static Season getBest(){

if (location.equals("Phoenix"))

return winter;

else

return summer;



}



public static void main(String[] args) {



System.out.println(Season.getBest());

}

}

就是这么的简单.但是有一点是需要注意的,那就是enums的值列表必须紧跟在enum声明,不然编译时将会出错.

Enums构造函数:

和类一样enums也可以有自己的构造函数,如下:

package net.javagarage.enums;



public class EnumConstructor {



public static void main(String[] a) {



//call our enum using the values method

for (Temp t : Temp.values())

System.out.println(t + " is : " + t.getValue());

}



//make the enum

public enum Temp {

absoluteZero(-459), freezing(32),

boiling(212), paperBurns(451);



//constructor here

Temp(int value) {

this.value = value;

}



//regular field?but make it final,

//since that is the point, to make constants

private final int value;



//regular get method

public int getValue() {

return value;

}



}

}
输出结果是:

absoluteZero is : -459

freezing is : 32

boiling is : 212

paperBurns is : 451

尽管enums有这么多的属性,但并不是用的越多越好,如果那样还不如直接用类来的直接.enums的优势在定义int最终变量仅当这些值有一定特殊含义时.但是如果你需要的是一个类,就定义一个类,而不是enum.

--结束END--

本文标题: Java 1.5新特性Enum的用法

本文链接: https://lsjlt.com/news/232692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java 1.5新特性Enum的用法
    Enum是enumeration(列举)的简写形式,包含在java.lang包中.public enum Season { winter, spring, summer, fall }一个enum是定义一组值的对象,它可以包括零个或多个值成...
    99+
    2023-06-03
  • PHP8.1新特性Enum像Java一样使用枚举
    了解Java的Php程序员都知道,PHP一直以来是没有Enum这个特性的,虽然有一个扩展的类可以实现类似的功能,但总感觉不是“原生”,刚好现在需要用到PHP8.1版本,这里记录一下对PHP的枚举Enum的简单使用。 先定义一个枚举Trai...
    99+
    2023-10-20
    php 后端
  • JAVA 8 的新特性
    简介: 前段时间面了完美世界,被问到Java8的新特性,在此特地记录一下,虽然现在Java的版本可能已经很高了,但是Java8的新特性依然值得学习一下! 1. Lambda 表达式 lambda表达...
    99+
    2023-09-08
    java 开发语言
  • Java——JDK1.8新特性
    目录 一、Lambda 表达式 (一)Lambda 表达式语法 (二)类型推断 二、函数式接口 (一)自定义函数式接口 (二)作为参数传递Lambda 表达式 (三)Java 内置四大核心函数式接口 三、方法引用 四、Stream API ...
    99+
    2023-09-22
    java 开发语言 servlet 后端 java-consul
  • 怎么使用的新Java特性
    这篇文章主要讲解了“怎么使用的新Java特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用的新Java特性”吧!1 Try-with-resource 语句使用 try-catch ...
    99+
    2023-06-15
  • Java新特性:Optional类
    Java新特性:Optional类 Optional 类是 Java 8 才引入的,Optional 是个容器,它可以保存类型 T 的值,或者仅仅保存 null。Optional 提供了很多方法,这样我们就不用显式进行空值检测。Opti...
    99+
    2023-08-17
    java 开发语言 Optional
  • Java 17 版本的新特性
    Java 17 版本的新特性 💗Sealed类💗Pattern Matching for instanceof💗 垃圾回收器改进💗...
    99+
    2023-09-16
    java jvm 开发语言
  • java枚举enum和Enum类的使用
    目录一、为什么需要枚举二、枚举介绍三、枚举的实现方式1.自定义枚举 :2.enum关键字 :四、枚举类补充五、关于枚举类的父类——Enum类1.基本介绍 :2...
    99+
    2023-03-02
    java枚举enum java Enum类
  • Java 10 新特性解读
    Java 10 是 JDK 的第十个版本,于 2018 年 3 月发布。Java 10 引入了一些新的特性和改进,下面是对其进行的解...
    99+
    2023-09-13
    Java
  • 详解Java中switch的新特性
    目录一. switch分支结构1. 简介2. 基本语法3. 语法规则(重点)4. 执行逻辑二. switch案例1. 基本案例2. case穿透三. switch新特性(了解)1. ...
    99+
    2023-05-20
    Java switch新特性 Java switch switch新特性
  • java中enum(枚举)的用法详解
    Java Enum原理: public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值...
    99+
    2020-07-20
    java基础 java enum 用法
  • Java新特性使用实例分析
    这篇文章主要介绍“Java新特性使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java新特性使用实例分析”文章能帮助大家解决问题。枚举:尽管在 JDK 5 中增加了枚举类型,但是 Cla...
    99+
    2023-06-27
  • ES6新特性中promise对象的用法
    这篇文章主要介绍了ES6新特性中promise对象的用法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. promise 介绍它是一个对象...
    99+
    2024-04-02
  • JAVA 8新特性有哪些
    这篇文章主要介绍“JAVA 8新特性有哪些”,在日常操作中,相信很多人在JAVA 8新特性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA 8新特性有哪些”的疑惑...
    99+
    2024-04-02
  • java 1.8新特性有哪些
    这篇“java 1.8新特性有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“java 1.8新特性有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入...
    99+
    2023-06-06
  • Java 21 新特性和改进
    Java 21 是 Java 17 之后的下一个 LTS 版本。虚拟线程在 Java 21 中将成为正式功能。可以预期的是,Java 21 会成为一个很流行的 Java 版本。 Java 21 将在 2023 年 9 月 19 日发布。目...
    99+
    2023-09-21
    java jvm 开发语言
  • Java新特性:Lambda表达式
    Java新特性:Lambda表达式 Lambda 表达式(Lambda expression),也可称为闭包(Closure),是 Java(SE)8 中一个重要的新特性。Lambda 表达式允许我们通过表达式来代替功能接口。Lambd...
    99+
    2023-08-17
    java python 开发语言
  • java语法糖之jdk迭代的新特性汇总
    语法糖(Syntactic sugar) 是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并...
    99+
    2024-04-02
  • Java关于JDK1.8新特性的Stream流
    目录Java的Stream流一、定义二、操作的特征三、代码示例1、生成流2、forEach迭代3、limit方法用于获取指定数量的流4、map5、sorted6、并行(paralle...
    99+
    2024-04-02
  • Java 17的一些新特性介绍
    目录前言Java 17中的Sealed 密封类Java 17提供了更好的随机生成器Java对增强安全性的关注Pattern Matching For Switch预览前言 Java1...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作