enum

Java enum用法详解

自古美人都是妖i 提交于 2021-02-20 08:58:47
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二: switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 = === 用法三:向枚举中添加新方法 如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。 "红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4 Color(String name, .name =.index = String getName( (c.getIndex() == .name = setIndex(.index = 用法四:覆盖枚举的方法 下面给出一个toString()方法覆盖的例子。 "红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4 Color(String name, .name =.index = .index + "_" + 用法五:实现接口

Java基础-枚举Enum

牧云@^-^@ 提交于 2020-05-03 21:13:39
枚举Enum 特点 enum是一个特殊的class enum类的构造函数必须是私有的 枚举类可以继承抽象类,实现接口 switch接受enum值 语法 1. 定义 enum 类名{ 实例1,实例2,实例3.....; 方法、属性、构造函数 } 2. Simple public class EnumDemo01 { enum Fruit{ apple,banana,orange; } public static void main(String[] args) { fun(Fruit.apple); } public static void fun(Fruit f){ System.out.println("fruit"); } } 3. 构造函数 构造函数必须定义为私有的; public class EnumDemo01 { enum Fruit{ apple("1"),banana("2"),orange("3"); private String value; //构造函数必须是私有的 private Fruit(String value){ this.value = value; } } public static void main(String[] args) { fun(Fruit.apple); } public static void fun(Fruit f){

Effective Objective-C2.0读书小记(一)枚举

*爱你&永不变心* 提交于 2020-04-07 11:37:40
第五条:用枚举表示状态、选项、状态码 枚举类型:enum ①枚举是一种常量命名方式。比如说: enum EOCButtonType { EOCButtonTypeCustom, EOCButtonTypeSystem, EOCButtonTypeDetailDisclosure, }; 编译器会为枚举分配一个独有的编号,从0开始,每个枚举递增+1。 当然,也可以不使用编译器分配的序号 enum EOCButtonType { EOCButtonTypeCustom=1, EOCButtonTypeSystem, EOCButtonTypeDetailDisclosure, }; 上述代码把的值设为1,而不使用编译器所分配的0,接下来的几个枚举的值都会在上一个的基础上递增1,比如说,EOCButtonTypeDetailDisclosure的值就是3. 定义枚举的方式: enum EOCButtonType type =UIButtonTypeDetailDisclosure; 用typedef关键字重新定义:(这样就不用每次定义时敲入enum而只需要写EOCButtonType了) typedef enum EOCButtonType EOCButtonType; EOCButtonType state =EOCButtonTypeDetailDisclosure;

.Net Attribute详解(下) - 使用Attribute武装枚举类型

邮差的信 提交于 2020-04-06 04:11:17
接上文 .Net Attribute详解(上)-Attribute本质以及一个简单示例 ,这篇文章介绍一个非常实用的例子,相信你一定能够用到你正在开发的项目中。枚举类型被常常用到项目中,如果要使用枚举ToString方法直接输出字符串, 常常不是我们想要的输出,因为它是安装定义的名称输出字符串。比如你有一个性别枚举,有Man, Woman. 你在中文系统中,在创建用户的页面上,这个枚举代表的下拉框,当然不是显示Man和Woman的,而是要显示”男”和”女“。 下面就介绍如何使用Attribute非常方便的输出我们想要的字符串。 1, 使用System.ComponentModel.DescriptionAttribute 比如,下面这个枚举 enum Gender { Man, Woman }; 在使用上DescriptionAttribute后,可以改造成这样 enum Gender { [Description(“男”)] Man, [Description(“女”)] Woman }; 好了,使用Attribute的三个步骤: Attribute的定义, Attribute的使用(贴标签), Attribute的读取和使用(根据标签做不同处理) 第一步,我们使用了系统中的Attribute,贴标签已经做好了,接下来时对于Attribute的读取和使用了。 2,

org.mybatis.spring.mapper.MapperScannerConfigurer的错误

两盒软妹~` 提交于 2020-04-05 22:08:59
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'sqlsessionfactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlsessionfactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse

02-02-08、JDK8的语法糖

风流意气都作罢 提交于 2020-04-05 19:12:24
​1、什么是语法糖 如果要来进行一个拆字游戏的话,语法糖可以拆分成“语法” 和 “糖”,每一种计算机语言都有自己的语法,Java也不例外。 语法就是在这一个语言中,要表示一种行为的表示模式,如赋值:int i = 666;如循环while(foo){},语法在一种语言的运行环境中是原生支持的,是体现在其运行时当中的。 糖是则是一种对于吃它的人来说感觉到甜的碳水化合物,往其他食物中加入糖会让食物变甜,吃糖能让人愉悦。 语法糖(Syntactic Sugar)就是给语法裹上一层糖,因此语法糖也称语法糖衣,让使用这些被裹上糖的语法的编码人员感觉到“甜”。例如,Java中使用for循环语法对一个集合进行遍历,写法为: int [] collection = new int [ 6 ]; for ( int i = 0 ; i < collection.length; i++){ // do something } 而现在,你只需要这么写就行: int [] collection = new int [ 6 ]; for ( int i : collection){ // do something } 是否内心会感到小小的“甜”呢。 有人会感觉很奇怪,我就是这么写的啊,这不就是Java的语法么?还说是什么语法糖!呸!~ 我们都知道,Java是一门高级语言,它的运行环境JVM执行的是字节码

【C语言】23-typedef

ぃ、小莉子 提交于 2020-04-04 21:11:51
本文目录 一、typedef作用简介 二、typedef与指针 三、typedef与结构体 三、typedef与指向结构体的指针 四、typedef与枚举类型 五、typedef与指向函数的指针 六、typedef与#define 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 这讲介绍C语言中很常用的一个关键字---typedef。 回到顶部 一、typedef作用简介 * 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include <stdio.h> 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * argv[]) { 9 Integer i = -10; 10 UInterger ui = 11; 11 12 Float f = 12.39f; 13 14 printf("%d %d %.2f", i, ui, f); 15 16 return 0; 17 } 在第3、第4、第6行分别给int、unsigned int

iOS 指纹识别常见问题汇总

末鹿安然 提交于 2020-03-29 05:23:15
作者 年小羊 关注 转发: http://www.jianshu.com/p/d44b7d85e0a6 最近公司的 app 要使用指纹支付了;总体来说还是蛮顺利的;但是中间有遇到一些坑;下面就对坑进行汇总; 一.基本知识 点开这个 LocalAuthentication.framework ,发现里面主要有这么几个东西 LocalAuthentication.framework - LAContext.h - LAError.h - LAPublicDefines.h - LocalAuthentication.h LocalAuthentication.h 这个没什么可讲的吧,代码就两行,一行导入 LAContext.h ,一行导入 LAError.h ,这个 LocalAuthentication 类是暴露出来方便开发者调用的类。 LAPublicDefines.h 先从简单的开始讲吧,首先是 LAPublicDefines.h ,从名字上来看是公共宏定义类,里面包含了许多定义好的宏,这些宏会在 LAContext.h 得到使用。 // // LAPublicDefines.h // LocalAuthentication // // Copyright (c) 2014 Apple. All rights reserved. // #ifndef

Java 枚举

前提是你 提交于 2020-03-25 09:20:49
金言:少用则用之! 枚举: 【多例设计】 package cn.mldn.utli; class Color { private String title ; //多例设计模式 private static final Color RED = new Color("红色"); private static final Color GRE = new Color("绿色"); private static final Color BLUE = new Color("蓝色"); private Color(String title) { this.title = title ; } public static Color getInstance(int ch) { switch(ch) { case 1 : return RED ; case 2 : return GRE ; case 3 : return BLUE ; default : return null ; } } public String toString() { return this.title ; } } public class TestDemo { public static void main(String[] args) { Color red = Color.getInstance(1); System

Java中的语法糖

Deadly 提交于 2020-03-25 03:18:42
同步发布于个人博客: https://njlife.top/2019/07/01/Java中的语法糖/ 语法糖 语法糖 (Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更 方便程序员使用 。简而言之,语法糖让程序更加简洁,有更高的可读性。 语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简单的基础语法结构,这个过程就是 解语法糖 。 说到编译,大家肯定都知道,Java语言中,javac命令可以将后缀名为.java的源文件编译为后缀名为.class的可以运行于Java虚拟机的字节码。如果你去看com.sun.tools.javac.main.JavaCompiler的源码,你会发现在compile()中有一个步骤就是调用 desugar() ,这个方法就是负责解语法糖的实现的。 语法糖本质 糖一:泛型 很多语言都是支持泛型的,但是很多人不知道的是,不同的编译器对于泛型的处理方式是不同的,通常情况下,一个编译器处理泛型有两种方式: Code specialization 和 Code sharing 。C++和C#是使用 Code specialization 的处理机制,而Java使用的是