枚举类型

Swift简单入门教程

こ雲淡風輕ζ 提交于 2020-02-25 13:00:42
编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”。在 Swift 中,可以用一行代码实现:   println("hello, world") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift 中,这行代码就是一个完整的程序。你不需要为了输入输出或者字符串处理导入一个单独的库。全局作用域中的代码会被自动当做程序的入口点,所以你也不需要main函数。你同样不需要在每个语句结尾写上分号。 注意:为了获得最好的体验,在 Xcode 当中使用代码预览功能。代码预览功能可以让你编辑代码并实时看到运行结果。 简单值 使用let来声明常量,使用var来声明变量。一个常量的值在编译时并不需要获取,但是你只能为它赋值一次。也就是说你可以用常量来表示这样一个值:你只需要决定一次,但是需要使用很多次。 var myVariable = 42 myVariable = 50 let myConstant = 42 常量或者变量的类型必须和你赋给它们的值一样。然而,声明时类型是可选的,声明的同时赋值的话,编译器会自动推断类型。在上面的例子中,编译器推断出myVariable是一个整数(integer)因为它的初始值是整数。 如果初始值没有提供足够的信息(或者没有初始值),那你需要在变量后面声明类型,用冒号分割。 let

如何使用JPA注解映射枚举类型

浪尽此生 提交于 2020-02-24 22:58:09
从JDK5.0开始,Sun引进了一个全新的关键字 enum 来定义一个枚举类型,于是 JPA 中也有相应的注解来对枚举类型进行映射。 假设顾客表如下: CREATE TABLE `customer` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, `state` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ak_key_2` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; 相应的实体类如下: @Entity @Table(name = "CUSTOMER", uniqueConstraints = @UniqueConstraint(columnNames = "name")) public class Customer extends AuditableEntity { private String name;//顾客名称 private StateEnum state;//状态 @Column(name = "name", unique = true, length = 100) public String getName(

Java 面向对象(七)

北城以北 提交于 2020-02-24 16:49:46
枚举 枚举的引入(模拟枚举) class Student { private int restDay; public int getRestDay() { return restDay; } public void setRestDay(int restDay) { this.restDay = restDay; } } public class Test { public static void main(String[] args) { Student stu = new Student(); stu.setRestDay(1); int res = stu.getRestDay(); if (res == 6 || res == 7) { System.out.println("放假"); } else { System.out.println("上课"); } } } 上面的代码,存在一些问题: (1)数据不安全,输入8 stu.setRestDay(8); // 输出:上课(没有星期八) (2)业务逻辑不合理:中外一周的第一天不一样,中国第一天是周一,外国第一天是周天。 改进后: class WeekDay { public static final int MONDAY = 1; public static final int TUESDAY = 2; public

Java枚举类使用

梦想与她 提交于 2020-02-23 16:02:07
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } } 用法三:向枚举中添加新方法 如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。 public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK

Java:枚举类也就这么回事

倾然丶 夕夏残阳落幕 提交于 2020-02-22 21:29:53
目录 一、前言 二、源自一道面试题 三、枚举的由来 四、枚举的定义形式 五、Enum类里有啥? 1、唯一的构造器 2、重要的方法们 3、凭空出现的values()方法 六、反编译枚举类 七、枚举类实现单例 八、参考资料 一、前言 本篇博客是对 JDK1.5的新特性枚举 的一波小小的总结,主要是昨天在看一部分面试题的时候,遇到了枚举类型的题目,发现自己有许多细节还需要加强,做起来都模棱两可,是时候总结一波了。 二、源自一道面试题 不多bb,直接开门见山,我遇到这样一道也许很简单的题目: enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println(“It is a account type”); } } class EnumOne { public static void main(String[]args) { System.out.println(AccountType.FIXED); } } 问打印的结果是啥?正确答案如下: It is a account type It is a account type It is a account type FIXED 至于结果为啥是这个,且看我慢慢总结。 三、枚举的由来 存在即合理。 我贼喜欢这句圣经

Python3标准库:enum枚举

瘦欲@ 提交于 2020-02-19 17:46:10
1. enum枚举 枚举是一组符号名称(枚举成员)的集合,枚举成员应该是唯一的、不可变的。在枚举中,可以对成员进行恒等比较,并且枚举本身是可迭代的。 1.1 创建枚举 可以使用class语法派生Enum并增加描述值的类属性来定义一个新枚举。 import enum class BugStatus(enum.Enum): new = 7 incomplete = 6 invalid = 5 wont_fix = 4 in_progress = 3 fix_committed = 2 fix_released = 1 print('\nMember name: {}'.format(BugStatus.wont_fix.name)) print('Member value: {}'.format(BugStatus.wont_fix.value)) 解析这个类时,Enum的成员会被转换为实例。每个实例有一个对应成员名的name属性,另外有一个value属性,对应为类定义中的名所赋的值。 1.2 迭代 迭代处理enum类会产生枚举的各个成员。 import enum class BugStatus(enum.Enum): new = 7 incomplete = 6 invalid = 5 wont_fix = 4 in_progress = 3 fix_committed = 2

枚举类型

强颜欢笑 提交于 2020-02-18 15:21:01
Enum的特征如下: 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值, 我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。 3.Enum默认实现了java.lang.Comparable接口。 4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串"Blue". 5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf("Blue")将返回 Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。 6.Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。 7.Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。 来源: https://www.cnblogs.com/whjykgz/p/12326204.html

细说枚举

做~自己de王妃 提交于 2020-02-18 14:20:22
枚举是 C# 中最有意思的一部分,大部分开发人员只了解其中的一小部分,甚至网上绝大多数的教程也只讲解了枚举的一部分。那么,我将通过这篇文章向大家具体讲解一下枚举的知识。我将从大家都了解的部分开始讲解,然后再讲解大家所不知道的或者了解很少的部分。 零、基础知识 枚举是由开发人员声明的一种 值类型 ,它在编译时就声明了一种 具名常量值 。使用枚举可以使我们的代码简单易读,我们先来看一下两个代码段: // 代码段 1 void Method(int country) { switch (country) { case 0: // more code break; case 1: // more code break; case 2: // more code break; case 3: // more code break; default: // more code break; } } // 代码段 2 void Method(Country country) { switch (country) { case Country.CN: // more code break; case Country.JP: // more code break; case Country.UK: // more code break; case Country.USA: // more code

C#中的枚举与结构体

試著忘記壹切 提交于 2020-02-18 03:05:49
枚举类型 什么是枚举? 1.枚举类型是⼀个⾃定义类型。 定义方式:enum 枚举名 { 枚举值1,枚举值2… } 2.枚举类型是⼀个值类型枚举值还可标记一个整型数字予以匹配,默认从0开始计数 3.枚举类型的创建 //装备类型 enum EquipType { Helmet = 100 , //头盔 BodyArmor = 200 , //防弹⾐ Knapsack , //背包 Knife } 枚举类型变量的定义与使⽤ //定义⼀个枚举类型的变量 EquipType myEquip = EquipType . Knapsack ; EquipType yourEquip = EquipType . Knapsack ; //判断枚举变量 if ( myEquip == EquipType . BodyArmor ) { } switch ( myEquip ) { case EquipType . BodyArmor : break ; case EquipType . Helmet : break ; case EquipType . Knife : break ; //case EquipType. default : break ; } //枚举类型和整型之间的转换 //枚举类型可以强制转换为整型 int num = ( int ) myEquip ; Console .

java 枚举

北城余情 提交于 2020-02-18 00:56:30
1.枚举的基本概念 想一下,多设计模式,构造方法私有化(非 public),之后在类的内部存在若干个指定的对象,通过一个方法返回指定对象. 多设计模式 package class4 ; class Color { private static final Color RED = new Color ( "红色" ) ; //实例化对象 private static final Color GREEN = new Color ( "绿色" ) ; //实例化对象 private static final Color BLUE = new Color ( "蓝色" ) ; //实例化对象 private String cname ; public Color ( String cname ) { this . cname = cname ; //构造方法私有化 } public String toString ( ) { return this . cname ; } public static Color getInstance ( int ch ) { //取得实例化对象 switch ( ch ) { case 0 : return RED ; case 1 : return GREEN ; case 2 : return BLUE ; default : return null