- 浏览: 3548064 次
- 性别:
- 来自: 大连
博客专栏
-
使用Titanium Mo...
浏览量:38136
-
Cordova 3.x入门...
浏览量:607280
-
常用Java开源Libra...
浏览量:682277
-
搭建 CentOS 6 服...
浏览量:89325
-
Spring Boot 入...
浏览量:401824
-
基于Spring Secu...
浏览量:69685
-
MQTT入门
浏览量:91693
文章分类
最新评论
-
afateg:
阿里云的图是怎么画出来的?用什么工具?
各云服务平台的架构图 -
cbn_1992:
博主,采用jdbctoken也就是数据库形式之后,反复点击获取 ...
Spring Security OAuth2 Provider 之 数据库存储 -
ipodao:
写的很是清楚了,我找到一份中文协议:https://mcxia ...
MQTT入门(6)- 主题Topics -
Cavani_cc:
还行
MQTT入门(6)- 主题Topics -
fexiong:
博主,能否提供完整源码用于学习?邮箱:2199611997@q ...
TensorFlow 之 构建人物识别系统
(1)定义
(2)使用
/* * 最基本的enum */ enum NumericEnums { ONE, TWO, THREE, FOUR, FIVE, }
/* * 构造函数和自定义方法 */ enum ConstructableEnums { ABC(10, "abc"), DEF(20, "def"), GHI(30, "ghi"), JKL(40, "jkl"); final int num; final String name; //构造函数默认是private,也只能是private。其他的话会编译错误! ConstructableEnums(int _num, String _name) { this.num = _num; this.name = _name; } String getContent() { return String.format("num=[%d], name=[%s]", num, name); } }
/* * 抽象方法和方法override */ enum EnumsWithMethod { MORNING("Good Morning") { @Override String hello(String yourName) { return greeting + ", " + yourName + ". zzz..."; } }, AFTERNOON("Good Afternoon") { @Override String hello(String yourName) { return greeting + ", " + yourName + ". tea or coffee ?"; } @Override String getGreeting() { return super.getGreeting() + ", but sleepy..."; } }, EVENING("Good Evening") { @Override String hello(String yourName) { return greeting + ", " + yourName + ". sleep, sleep."; } }; final String greeting; EnumsWithMethod(String _greeting) { this.greeting = _greeting; } abstract String hello(String yourName); String getGreeting() { return greeting; } }
/* * 实现接口 */ interface HelloInterface { public String sayHello(String yourName); } enum EnumWithInterface implements HelloInterface { ME_THEN_YOU("foo") { public String sayHello(String yourName) { return String.format("I'm %s, you're %s.", myName, yourName); } }, YOU_THEN_ME("bar") { public String sayHello(String yourName) { return String.format("You're %s, I'm %s.", yourName, myName); } }; final String myName; EnumWithInterface(String _myName) { myName = _myName; } }
(2)使用
// ---------------------------------------- System.out.println("printing NumericEnums.values():"); for (NumericEnums e : NumericEnums.values()) { System.out.print(e.toString() + "\t"); }//ONE TWO THREE FOUR FIVE System.out.println(); NumericEnums o = NumericEnums.ONE; if(o == NumericEnums.ONE){ System.out.println("enum in java can be compared using =="); } System.out.println(NumericEnums.valueOf("ONE").equals(NumericEnums.ONE));//true try { NumericEnums.valueOf("one"); } catch (IllegalArgumentException e) { System.out.println("one is not exist!"); } NumericEnums one = NumericEnums.ONE; switch(one) { case ONE: System.out.println("ONE"); break; } // ---------------------------------------- System.out.println("printing ConstructableEnums.values():"); for (ConstructableEnums e : ConstructableEnums.values()) { System.out.print(e.toString() + "\t"); }//ABC DEF GHI JKL System.out.println(); System.out.println(ConstructableEnums.valueOf("DEF").equals(ConstructableEnums.DEF));//true System.out.println(ConstructableEnums.DEF.getContent());//num=[20], name=[def] // ---------------------------------------- System.out.println(EnumsWithMethod.MORNING.hello("foo")); //Good Morning, foo. zzz... System.out.println(EnumsWithMethod.AFTERNOON.hello("bar"));//Good Afternoon, bar. tea or coffee ? System.out.println(EnumsWithMethod.EVENING.hello("baz"));//Good Evening, baz. sleep, sleep. System.out.println(EnumsWithMethod.MORNING.getGreeting());//Good Morning System.out.println(EnumsWithMethod.AFTERNOON.getGreeting());//Good Afternoon, but sleepy... System.out.println(EnumsWithMethod.EVENING.getGreeting());//Good Evening // ---------------------------------------- System.out.println(EnumWithInterface.ME_THEN_YOU.sayHello("abc"));//I'm foo, you're abc. System.out.println(EnumWithInterface.YOU_THEN_ME.sayHello("def"));//You're def, I'm bar.
// EnumMap---------------------------------------- Map<NumericEnums, String> numerics = new EnumMap<NumericEnums, String>(NumericEnums.class); numerics.put(NumericEnums.ONE, "one"); numerics.put(NumericEnums.TWO, "two"); numerics.put(NumericEnums.THREE, "three"); numerics.put(NumericEnums.FOUR, "four"); numerics.put(NumericEnums.FIVE, "five"); System.out.println(numerics.get(NumericEnums.FOUR));//four // EnumSet---------------------------------------- Set<NumericEnums> s1 = EnumSet.of(NumericEnums.TWO, NumericEnums.THREE); System.out.println(s1.contains(NumericEnums.TWO));//true System.out.println(s1.contains(NumericEnums.FOUR));//false Set<NumericEnums> s2 = EnumSet.noneOf(NumericEnums.class); System.out.println(s2.size());//0 Set<NumericEnums> s3 = EnumSet.range(NumericEnums.TWO, NumericEnums.FOUR); System.out.println(s3.contains(NumericEnums.ONE));//false System.out.println(s3.contains(NumericEnums.TWO));//true System.out.println(s3.contains(NumericEnums.THREE));//true System.out.println(s3.contains(NumericEnums.FOUR));//true System.out.println(s3.contains(NumericEnums.FIVE));//false
// int->Enum System.out.println(NumericEnums.values()[0].equals(NumericEnums.ONE));//true // String->Enum System.out.println(NumericEnums.valueOf("ONE").equals(NumericEnums.ONE));//true // Enum->int---------------------------------------- System.out.println(NumericEnums.ONE.ordinal());//0 System.out.println(NumericEnums.TWO.ordinal());//1 System.out.println(NumericEnums.THREE.ordinal());//2 System.out.println(NumericEnums.FOUR.ordinal());//3 System.out.println(NumericEnums.FIVE.ordinal());//4 // Enum->String---------------------------------------- System.out.println(NumericEnums.ONE.name());//ONE System.out.println(NumericEnums.TWO.name());//TWO System.out.println(NumericEnums.THREE.name());//THREE System.out.println(NumericEnums.FOUR.name());//FOUR System.out.println(NumericEnums.FIVE.name());//FIVE System.out.println(NumericEnums.ONE.toString());//ONE System.out.println(NumericEnums.TWO.toString());//TWO System.out.println(NumericEnums.THREE.toString());//THREE System.out.println(NumericEnums.FOUR.toString());//FOUR System.out.println(NumericEnums.FIVE.toString());//FIVE
- EnumTest.zip (3 KB)
- 下载次数: 10
发表评论
-
Web API分页
2018-11-13 13:38 1571(一)分页类型 逻辑分页(客户端分页):从数据库将所有记录查询 ... -
JAXB实例入门
2017-06-09 10:17 1786JAXB(Java Architecture for XML ... -
Java Web项目中的Event
2017-06-05 09:42 1684(1)Servlet的事件和监听器 *** Servle ... -
关于Java SPI
2017-05-04 12:07 2044SPI:Service Provider Interface ... -
Jackson实例入门
2017-05-03 12:55 1716Jackson:Java平台的JSON解析器。 版本: ja ... -
为什么https被redirect成了http?
2016-11-14 09:35 7871全站HTTPS并不是配置证书CA,改改路径URL那么简单! ... -
简化Java代码
2016-10-09 11:25 1313样板代码Boilerplate Code的 ... -
Java Web Project based on Spring
2016-09-28 11:21 1038基于Spring开发Web项目的标配Library。 工具 ... -
Eclipse Scrapbook快速测试Java代码
2016-09-09 15:12 1331Scrapbook是Eclipse提供的特 ... -
Java爬取 百度图片&Google图片&Bing图片
2016-08-04 09:54 7624先看看抓取的结果。 抓关键字“美女”的百度图片: 抓关键字 ... -
学习Java容易混淆的一概念
2016-05-13 11:01 1682基础篇 (1)== vs equals() ... -
20年Java发展历程(1995-2015)
2015-03-25 21:58 2391Java语言作为现在最流行的编程语言之一,它已经经历了整整20 ... -
Java命令行选项解析之Commons-CLI & Args4J & JCommander
2014-11-27 12:09 22559熟悉Linux命令的都知道几乎所有程序都会提供一些命令行选项。 ... -
Java调用Native API之JNA
2014-11-10 12:09 7824Java调用C/C++的Native API一般采用JNI(J ... -
Java执行SSH/SCP之JSch
2014-08-27 17:17 11580JSch (Java Secure Channel)是纯Jav ... -
GC日志分析
2014-07-18 08:54 2872GC:Garbage Collection 垃圾回收 (1) ... -
Java元组类型之javatuples
2014-05-20 10:58 27073关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数 ... -
Java 8 之 反编译Lambda表达式(CFR)
2014-04-14 09:34 6584CFR(Class File Reader) - anoth ... -
Java 8 之 Optional类
2014-04-08 14:38 2985在Java中,null代表一个不存在的对象,如果对它进行操作就 ... -
Java 8 之 Lambda表达式
2014-04-01 09:14 16201Java 8历时2年8个月,这次升级是继Java 5之后对Ja ...
相关推荐
本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...
### Java 枚举类型 enum 的使用详解 #### 一、枚举类型概述 在 Java 中,枚举(enum)是一种特殊的类,它被用来表示一组固定的常量值。枚举类型自 JDK 1.5 开始引入,为开发者提供了一种更加安全、简洁的方式来...
Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...
总之,Java的枚举类型`Enum`不仅提供了对常量集的封装,还具备了类的所有功能,包括方法、构造函数和继承。它极大地增强了代码的可读性和安全性,是Java开发中的一个重要特性。通过深入理解和熟练应用,可以提高代码...
本文将深入探讨Java枚举类型的特点、用法以及最佳实践。 Java中的枚举类型是一种强大的特性,它提供了一种类型安全的方式来表示一组固定的常量。枚举类型可以包含字段、方法和构造器,使得它们可以携带额外的信息和...
本文将对 Java 枚举类型 enum 进行详解,并介绍其使用方法。 一、枚举类型的定义 在 Java 中,枚举类型使用关键字 enum 定义。所有的枚举类型都是继承自 Enum 类型。枚举类型可以拥有自己的名字和顺序,每个枚举...
本文将深入探讨Java枚举类型的特性和用法,并通过具体实例说明其优势所在。枚举类型在Java中的引入标志着一种更为类型安全且灵活的编程方式。 #### 二、Java枚举的基本概念 Java中的枚举是一种特殊的类,用于定义...
下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...
尽管枚举类不能被继承,但每个枚举类型都隐式地继承了`java.lang.Enum`类,这意味着它们可以实现接口并提供具体实现。这使得枚举可以具有多态行为。 6. 枚举的序列化 默认情况下,枚举是可序列化的。如果不需要...
在本文中,我们将深入探讨Java枚举的使用和实现方式。 首先,枚举可以看作是一种预定义的类,与基本数据类型(如int、char)相似,但其主要目的是限制变量只能赋值为枚举类型中定义的特定值。以下是一个简单的枚举...
Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...
Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...
总结起来,Java枚举类型是一个强大的工具,它可以替代`static final`常量来表示一组固定的值,提供类型安全、易于维护的代码。通过枚举,我们可以更方便地管理常量,减少错误,并增加代码的灵活性。枚举是Java中一个...
Java中的枚举(enum)是自...总结来说,Java枚举提供了一种结构化、类型安全的方式来定义和使用常量,还支持方法定义、接口实现以及与`switch`语句的无缝集成。这些特性使得枚举成为编写可维护、可扩展代码的重要工具。
下面将详细介绍枚举类型的用法: 1. **定义枚举类型**: - 在Java中,枚举类型通过`enum`关键字来定义。例如: ```java public enum Color { RED, GREEN, BLUE } ``` - 这里,`Color`是一个枚举类型,`RED`,...
Java中的枚举类型`enum`是一种特殊的类,用于表示有限集合的值,这些值在运行时是不可变的。枚举在Java中被设计为安全、类型化且易于使用,适用于那些固定、有限且不会改变的数据类型。在本文中,我们将深入探讨枚举...
可以通过 `values()` 方法获取枚举类型的全部枚举常量,返回一个枚举类型的数组。 总结来说,Java 枚举提供了一种强类型、安全且易于使用的机制,用于表示一组固定数量的值。它简化了代码,提高了程序的可读性和可...
- 枚举类型自动继承自`java.lang.Enum`类,这意味着它们可以直接使用`Enum`类提供的方法,而无需显式地继承。 2. **枚举的好处:** - **安全性**:确保了变量只能赋值为预定义的一组值之一。 - **编译时检查**:...
Java枚举类型(enum)是Java语言中一种特殊的类,用于定义一组固定的常量。它在许多场景下作为替代常量或单例模式的选择,提供了更安全、更易读的代码。下面我们将深入探讨Java枚举类的用法及其优势。 1. **枚举的...