- 浏览: 322527 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (254)
- java (178)
- tomcat (6)
- 邮件 (1)
- smtp (1)
- Linux (2)
- 编码 (2)
- 导入工程 (1)
- Specification Level (1)
- hibernate (10)
- 字段类型 (1)
- 字段类型匹配 (1)
- 数据库 (3)
- sql (9)
- struts2 (8)
- 类型转换 (2)
- java,MyEclipse,SVN (1)
- Myecplise (4)
- 输入校验 (1)
- JFrame (2)
- Oracle (8)
- google (1)
- Swing (3)
- Fusioncharts (1)
- 找工作 (0)
- js (4)
- jsp (11)
- displaytag (1)
- spring (8)
- 工作 (1)
- String (1)
- 算法 (2)
- IO (1)
- xml (3)
- 设计模式 (1)
- UML (1)
- 文档 (1)
- ajax (1)
- 日常 (7)
- sql server (1)
- mysql (3)
- git (1)
- Maven (1)
- mongodb (1)
- postman (1)
最新评论
JDK1.5加入了一个全新类型的“类”—枚举类型。为此JDK1.5引入了一个新关键字enum。
【并不能说成是一个类,它的真正类型叫枚举,但是它和类又很像。】
我们可以这样来定义一个枚举类型
Public enum Color{
Red;
White;
Blue;
}
然后这样来使用Color myColor = Color.Red;
枚举类型还提供了两个有用的静态方法values()和valueOf()。我们可以很方便地使用它们,例如:
For(Color c : Color.values()) {
System.out.println(c);
}
另外在这里需要补充一个知识点:switch后面可以跟五种类型数据:byte、short、int、char、枚举类型
定义枚举类型时本质上就是在定义一个类别,只不过是很多细节有编译器帮您完成了,所以某些程度上,enum关键字的作用就像是class或interface
当您使用“enum”定义枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),他们都被预设为final,所以您无法改变他们,他们也是static成员,所以您可以通过类型名称直接使用它们,当然,最重要的,它们都是公开的(public)。
EnumSet的名称说明了其作用,它是在J2SE5.0后加入的新类别,可以协助您建立枚举值的集合,它提供了一系列静态发光法,可以让您指定不同的集合建立方式。
枚举(Enum):我们所定义的每个枚举类型都继承自java.lang.Enum 类,枚举中的每个成员默认都是public static final的。
而每个枚举的成员其实就是您定义的枚举类型的一個实例(Instance)。换句话说,当定义了一个枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别是什么。在运行期间我们无法再使用该枚举类型创建新的实例了,这些实例在编译期间就已经完全确定下来了。
枚举在实际开发中应用的场合:经常用在用户权限验证的地方,比如将系统里面需要的几种权限类型定义为一个枚举类;对于方法参数只接收有限的几类值的情况;应用的场合都是某个类型它的对象实例的个数已经完全确定了,没法在运行的时候再去生成实例。
下面是一些枚举相关的练习类,经常查看:
之后又讲解了枚举的集合类EnumSet<E extends Enum<E>>,比较繁琐,而且不经常用到,所以没有总结。
【并不能说成是一个类,它的真正类型叫枚举,但是它和类又很像。】
我们可以这样来定义一个枚举类型
Public enum Color{
Red;
White;
Blue;
}
然后这样来使用Color myColor = Color.Red;
枚举类型还提供了两个有用的静态方法values()和valueOf()。我们可以很方便地使用它们,例如:
For(Color c : Color.values()) {
System.out.println(c);
}
另外在这里需要补充一个知识点:switch后面可以跟五种类型数据:byte、short、int、char、枚举类型
定义枚举类型时本质上就是在定义一个类别,只不过是很多细节有编译器帮您完成了,所以某些程度上,enum关键字的作用就像是class或interface
当您使用“enum”定义枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),他们都被预设为final,所以您无法改变他们,他们也是static成员,所以您可以通过类型名称直接使用它们,当然,最重要的,它们都是公开的(public)。
EnumSet的名称说明了其作用,它是在J2SE5.0后加入的新类别,可以协助您建立枚举值的集合,它提供了一系列静态发光法,可以让您指定不同的集合建立方式。
枚举(Enum):我们所定义的每个枚举类型都继承自java.lang.Enum 类,枚举中的每个成员默认都是public static final的。
而每个枚举的成员其实就是您定义的枚举类型的一個实例(Instance)。换句话说,当定义了一个枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别是什么。在运行期间我们无法再使用该枚举类型创建新的实例了,这些实例在编译期间就已经完全确定下来了。
枚举在实际开发中应用的场合:经常用在用户权限验证的地方,比如将系统里面需要的几种权限类型定义为一个枚举类;对于方法参数只接收有限的几类值的情况;应用的场合都是某个类型它的对象实例的个数已经完全确定了,没法在运行的时候再去生成实例。
下面是一些枚举相关的练习类,经常查看:
package com.shengshiyuan5; public enum Color { Red, White, Blue, Black }
package com.shengshiyuan5; public class ColorTest { public static void main(String[] args) { Color myColor = Color.Blue; System.out.println(myColor); for (Color c : Color.values()) { System.out.println(c); } } }
package com.shengshiyuan5; public class EnumTest { public static void doOp(OpConstant opConstant) { switch (opConstant) { case TURN_LEFT: System.out.println("向左转"); break; case TURN_RIGHT: System.out.println("向右转"); break; case SHOOT: System.out.println("射击"); break; } } public static void main(String[] args) { doOp(OpConstant.SHOOT); } } enum OpConstant { TURN_LEFT, TURN_RIGHT, SHOOT }
package com.shengshiyuan5; public enum Coin { // 就像Class一样,生成对象的时候去调用构造方法,这里也相似,在编译的时候每个成员都会生成一个Coin类型的实例,在生成实例的过程中调用Coin(String // value)方法需要传递一个参数。 penny("hello"), nickel("world"), dime("welcome"), quarter("hello world"); private String value; public String getValue() { return value; } Coin(String value) { this.value = value; } public static void main(String[] args) { Coin coin = Coin.quarter; System.out.println(coin.getValue()); } }
之后又讲解了枚举的集合类EnumSet<E extends Enum<E>>,比较繁琐,而且不经常用到,所以没有总结。
发表评论
-
领域精通涉及技术点(不分先后)
2017-12-20 19:35 614Java8 netty jvm kafaka消息队列 上传下载 ... -
计算机各种单位讲解及换算
2017-12-13 13:54 1631我还听过有UK的 一、最小单位:位(bit,缩写为b) 在原 ... -
JAVA字符串格式化-String.format()和MessageFormat的使用
2017-12-05 10:39 1427String.format()常规类型的格式化 Stri ... -
eclipse启动项目常见问题
2017-11-16 17:46 1173今儿遇到了个问题,ecli ... -
字符编码笔记:ASCII,Unicode和UTF-8
2017-10-23 16:37 454讲的太牛逼了: http://ww ... -
emoji简单讲解
2017-10-23 15:17 968emoji处理方式大起底 http://blog.csdn.n ... -
BigDecimal讲解
2017-10-12 15:58 439BigDecimal 由任意精度的整数非标度值 和 32 位的 ... -
eclips 控制台console上不打印信息
2017-09-06 21:53 5761、进windows菜单 -> show view -& ... -
详解RequestMappingHandlerMapping和RequestMappingHandlerAdapter
2017-08-29 17:08 2960http://donald-draper.iteye.com/ ... -
用@ExceptionHandler 来进行切面异常处理
2017-08-29 11:47 2299有时候我们想处理某个类里Controller中抛出的异常怎么搞 ... -
Spring 注解@Component、@Repository、@Service、@Controller区别
2017-08-28 15:27 1008spring 2.5 中除了提供 @Com ... -
线程的一点小总结
2017-08-23 20:36 701java中main方法启动的是一个进程还是一个线程? 答:是一 ... -
线程池
2017-08-23 17:35 514诸如Web 服务器、数据库 ... -
Class源码大概讲解
2017-08-23 16:47 503http://blog.csdn.net/a327369238 ... -
Spring 事务相关
2017-08-14 12:10 470Transactionz注解的readOnly ... -
把时间当做朋友-前言
2017-08-13 20:47 400要管理的不是时间,而是自己。人们生活在同一个世界,却又各自 ... -
单例里面的方法讲解
2017-08-11 14:55 487spring里的controller是单例的。系统针对每个co ... -
eclipse拷贝出来的项目名称还是原来的
2017-07-26 16:46 1074需要修改的有如下几个地方: 1、pom.xml里面打包的名字一 ... -
自定义hibernate方言,新增自定义函数
2017-06-27 10:47 868按位与运算(&)在许多数据库中都是支持的,遗憾的是,H ... -
http请求参数:header body paramter三种参数区别、联系
2017-06-19 10:46 487912345
相关推荐
- 泛型是JDK 1.5中最显著的新特性之一,它允许程序员在类型级别进行编程,从而提高代码的可读性和重用性,同时减少了强制类型转换的错误。 - 使用泛型可以避免运行时类型检查异常,并且使得集合操作更加安全。 2....
Stream API是JDK 8中最强大的新特性之一,它提供了一种新的方式来处理数据集合或其他类型的序列化数据。Stream API可以让你像处理SQL查询一样处理集合,这极大地简化了集合操作,尤其是复杂的集合操作。 例如,查找...
泛型是JDK 1.5最重要的特性之一,它允许在类、接口和方法中定义类型参数,从而增强了类型安全性和代码重用。例如,可以定义一个通用的集合类`List<T>`,其中T代表任意类型。泛型还可以用于限制方法的参数类型,避免...
总结,JDK5.0是Java发展的重要里程碑,它的新特性显著提高了编程的效率和代码质量。通过配置并使用JDK5.0,开发者能够更好地理解和掌握Java编程,从而积累丰富的学习经验。同时,了解和熟练使用bin目录下的各种工具...
JDK 1.5 中引入的泛型功能是其中最重要的新特性之一。在引入泛型之前,Java 中的集合只能存储 `Object` 类型的对象,这意味着开发者需要不断地进行类型转换来确保正确性,这不仅增加了代码量,还可能导致运行时错误...
Annotation(注解)是Java编程语言的一个重要特性,自JDK 1.5引入以来,逐渐成为编写可维护和可扩展代码的关键工具。...对于Java开发者来说,理解和熟练运用Annotation是现代Java编程的必备技能之一。
1. **泛型**:这是Java 5引入的最大改变之一,允许在类、接口和方法中使用类型参数,提高了代码的类型安全性,减少了运行时类型异常的可能性。 2. **枚举类型**:Java 5引入了枚举作为替代常量集合的更安全和强大的...
- **JDK 5.0**(2004年):引入了泛型、枚举、可变参数等新特性。 - **JDK 6**(2006年):增强了并发支持,并添加了一些实用的新API。 - **JDK 7**(2011年):引入了多线程改进、类型注解等。 - **JDK 8**(2014年...
在Java 5.0中,最重要的特性之一就是泛型的引入。泛型允许开发者在定义类、接口和方法时指定类型参数,提高了代码的类型安全性和可读性。例如,ArrayList中的T就是一个类型参数,可以替换为任何具体类型,如String、...
Java JDK 1.9,即Java 9,于2017年发布,是Java的重大更新之一。其中最重要的新特性是模块系统(Project Jigsaw),它将JDK和应用程序划分为模块,提高了可维护性和性能。此外,还引入了改进的JShell(即时命令行...
JDK 1.5,也被称为Java SE 5.0,是一个重要的里程碑,因为它引入了许多关键的更新和改进,例如泛型、枚举、可变参数、增强的for循环(foreach)、类型安全的自动装箱和拆箱,以及注解(Annotations)等新特性。...
首先,JDK1.5最重要的特性之一是泛型(Generics)。泛型允许在类、接口和方法中使用类型参数,从而提高了代码的类型安全性和可读性。通过泛型,开发者可以限制容器只能存储特定类型的对象,避免了强制类型转换,减少...
这两个版本在功能上有所不同,JDK 5.0引入了许多新特性,比如泛型、枚举类型等。你可以根据个人需求选择适合的版本,下载地址通常在Oracle的官方网站上可以找到。下载过程中可能会遇到文件命名问题,需要手动更改...
1. Lambda表达式:这是JDK 8最重要的特性之一,它引入了一种简洁的匿名函数语法,允许开发者以更简洁的方式处理函数式编程场景,如集合操作、并行流等。 2. 方法引用和构造器引用:与Lambda表达式紧密相关,方法...
JDK 1.8中最重要的特性之一就是引入了Lambda表达式。Lambda表达式简化了函数式编程,允许开发者以更简洁的方式处理匿名函数。它使得编写简洁的代码成为可能,特别是对于那些处理集合和并发操作的场景,如Stream API...
本文将详细总结JDK 1.5到1.7之间的重要新特性。 ### JDK 1.5(也称为Java 5.0) #### 1. Generics(泛型) 泛型是Java 5.0中的重大更新,它允许在类、接口和方法声明中使用类型参数,提高了代码的类型安全性和重用...
总结来说,JDK 1.8 API中文版是Java开发者的宝贵资源,它提供了对JDK 1.8核心库的详细解释,帮助开发者更高效地利用这些新特性和功能,提升开发效率和代码质量。虽然谷歌翻译可能存在一些语言上的瑕疵,但整体上仍然...
泛型是Java 5.0中的核心特性之一,它允许在类、接口和方法中使用类型参数,提高了代码的类型安全性和可读性。通过泛型,开发者可以创建可重用的组件,这些组件可以处理多种数据类型,而无需进行类型转换或强制类型...
JDK 7的主要改进之一是其对类型推断的支持,通过引入"钻石操作符"(),使得在创建泛型实例时可以省略类型参数,从而提高代码的简洁性。例如,`List<String> list = new ArrayList();`,这在之前需要写成`List...