枚举类型

enum枚举类型

青春壹個敷衍的年華 提交于 2020-02-15 05:37:48
enum 单选: 格式:字段名 enum (值1,值2,值N) 仅能选择一个值 字段值必须在列表里选择 案例加格式如下: create table 库名.表名( 字段名1 enum(“值1”,“值2”,“值3”); set 多选: 格式:字段名 set (值1,值2,值N) 选择一个或多个值字段值必须在列表里选择 案列加格式如下: create table 库名.表名 ( 字段名1 set(值1,值2,值N)); 来源: CSDN 作者: nbnbnb_ 链接: https://blog.csdn.net/nbnbnb_/article/details/104310976

Java 中的枚举

六眼飞鱼酱① 提交于 2020-02-14 23:18:10
一、什么是枚举? 枚举就是一一列举,常用来表示那些可以 明确范围的集合 ,如性别、季节、星期、月份、方向(东西南北)等。 所以枚举的使用场景就是:当变量(尤其是方法的参数)只能从一小组可能的值中取出一个时,我们就可以使用枚举。 Java 中的枚举( enum )是一个 特殊的数据类型 ,它是 Java 5 中新增的特性。 这里需要注意, 枚举( enum )是一个类 ,它的全称是 enumeration ,但是 Java 中也有一个 Enumeration 的 接口 ,这两者是没有任何关系的。 二、为什么会出现枚举? 假设我们需要为方位描绘出四个方向,我们看一下下面的程序,这是在没有枚举类型时定义常量常见的方式: public enum Directions { NORTH , SOUTH , EAST , WEST } 看起来很不错,调用的时候只要使用 Directions.NORTH 就可以了。但这种 常量实现的枚举 有许多不足: 类型不安全 上面我们定义的方向常量的对应值是整型,在程序运行时,很可能会出现传入非法参数(类型不一致)的情况。 没有命名空间 由于方向常量只是类的属性,使用的时候不得不通过类来访问。 一致性较差 上面我们定义的整型常量属于 编译期常量 ,就是说在程序的编译过程完成后,所有引用到该常量的地方,会直接将整数值写入。这样,

c++之智能指针,异常处理,枚举

拈花ヽ惹草 提交于 2020-02-13 11:15:32
智能指针,文件IO 二、智能指针&动态内存 1. 指针潜在问题 c++ 把内存的控制权对程序员开放,让程序显式的控制内存,这样能够快速的定位到占用的内存,完成释放的工作。但是此举经常会引发一些问题,比如忘记释放内存。由于内存没有得到及时的回收、重复利用,所以在一些c++程序中,常会遇到程序突然退出、占用内存越来越多,最后不得不选择重启来恢复。造成这些现象的原因可以归纳为下面几种情况: 野指针: 内存已经被释放、但是指针仍然指向它。这时内存有可能被系统重新分配给程序使用,从而会导致无法估计的错误 重复释放:程序试图释放已经释放过的内存,或者释放已经被重新分配过的内存,就会导致重复释放错误. 内存泄漏: 不再使用的内存,并没有释放,或者忘记释放,导致内存没有得到回收利用。 忘记调用delete 随着多线程程序的广泛使用,为了避免出现上述问题,c++提供了智能指针,并且c++11对c++98版本的智能指针进行了修改,以应对实际的应用需求。 2. 智能指针 在98版本提供的 auto_ptr 在 c++11得到删除,原因是拷贝是返回左值、不能调用delete[] 等。 c++11标准改用 unique_ptr | shared_ptr | weak_ptr 等指针来自动回收堆中分配的内存。智能指针的用法和原始指针用法一样,只是它多了些释放回收的机制罢了。 智能指针位于 头文件中

Java枚举类

旧城冷巷雨未停 提交于 2020-02-11 19:07:02
为什么要用枚举类 什么场景会用到枚举,比如在表示一周的某一天,一年中的四季,这样一组常量的时候我们会用到枚举。在Java引入枚举类之前常用一组int常量来表示枚举,这种方式称为int枚举模式(int enum pattern)。 private static final int MONDAY = 1; private static final int TUESDAY = 2; private static final int WEDNESDAY = 3; private static final int THURSDAY = 4; private static final int CODE_START = 1; private static final int CODE_STATUS = 2; private static final int CODE_STOP = 3; 这种我们非常习惯的模式其实存在着很多不足和问题, int枚举组不具备命名空间的能力,当表示具有相同命名常量时,需要添加前缀避免冲突 int表示的枚举值不具有描述性,需要遍历判断具体的值并添加描述 int枚举模式不具有安全性,此外int类型是编译时常量,如果与int枚举常量关联的值发生变化,必须重新编译,不重新编译虽然不影响运行,但是准确性已经不能保证 即便是升级为用String来表示枚举值,String枚举模式

c的详细学习(10)结构体与共用体的学习(二)

橙三吉。 提交于 2020-02-11 04:47:24
在c语言中,结构体数据类型与共用体数据类型都属于构造类型。共用体与结构体数据类型在定义上十分相似,但它们在存储空间的占用分配上有本质的区别。结构体变量是各种类型数据的集合,各成员占据不同的存储空间,而共用体变量的所有成员占用相同的存储空间,在某一时刻只有一个成员起作用。 (1)共用体类型的定义 定义共用体类型的一般形式: union 共用体类型名 { 数据类型 成员名1; 数据类型 成员名2; 数据类型 成员名3; ...... }; 以上定义了一个名为data的共用体类型。它说明该类型由三个不同类型的成员组成,这些成员共享同一块存储空间。 (2)共用体变量的定义 与结构体变量的定义类似; (3)共用体变量的引用和初始化 1.引用共用体变量中的一个成员 引用共用体变量的成员的一般形式 共用体变量名.成员名 共用体指针变量->成员名 第一种引用方式应用于普通共用体变量,第二种引用方式应用于共用体指针变量。 union data a,*p=&a; 2.共用体类型变量的整体引用 可以将一个共用体变量作为一个整体赋给另一个同类型的共用体变量。例如: union data a,b; ...... a=b; 3.共用体变量的初始化 在共用体变量定义的同时只能用第一个成员的类型值进行初始化,共用体变量初始化的一般形式: union 共用体类型名 共用体变量={第一个成员的类型名}; 例如:

Python3(八) 枚举详解

99封情书 提交于 2020-02-10 20:20:05
一.枚举其实是一个类 建议标识名字用大写 1.枚举类: from enum import Enum class VIP(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4 print(VIP.YELLOW) #VIP.YELLOW #关注的是它的标签不是数字 2 枚举和普通类相比的优势 三种其他的普通方法表示枚举: (1) yellow = 1 green = 2 (2)字典的表示方式 {'yellow':1,'green':2} (3)类的表示方式 class TypeDiamond(): yellow = 1 green = 2 这些方式,它们都是可变的,可以在代码中轻易的更改值,且没有防止相同标签的功能。 3.枚举的特点: from enum import Enum class VIP(Enum): YELLOW = 1 #YELLOW= 2 #不可重复,报错 BLACK = 3 RED = 4 print(VIP.YELLOW) #VIP.YELLOW = 6 #不可更改,报错 二.枚举类型、枚举名称与枚举值 1.获取枚举类型下某一数值: from enum import Enum class VIP(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4 print(VIP.YELLOW

查询枚举类型的值

梦想的初衷 提交于 2020-02-10 16:32:32
select * from T_META_FORMENUM_L where FNAME like '%进度状态%' select * from T_META_FORMENUMITEM a --(a.fvalue=) inner join T_META_FORMENUMITEM_L b on a.FENUMID=b.FENUMID where a.FID='db34c5ce-dfc9-435e-9414-3a1a04c91c11' 来源: https://www.cnblogs.com/ggxiaomo/p/12291378.html

Java 使用枚举定义常量

懵懂的女人 提交于 2020-02-10 11:08:02
前言 JDK1.5之后出现了枚举类型,最近在公司的项目中一直出现了枚举,发现枚举真香。对于项目比较庞大的,使用枚举不仅可以增加代码的可读性,也就是大佬们说的“优雅”,还有利于后期代码的维护。枚举比较常用的场景就是用于常量的定义,但是相比于使用“static final”,枚举类型会增加内存的消耗,这个就是枚举的缺点,但是对于目前的硬件来说,这点还是可以忽略的。 使用枚举定义常量 package com.chen.mykinthtest.test; public enum Color { RED("红色", 1), GREEN("绿色", 2), BLUE("蓝色", 3); private String code; private int index; private Color(String code, int index) { this.code = code; this.index = index; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index;

Swift 初见

流过昼夜 提交于 2020-02-09 10:07:52
Swift 初见 本页内容包括: 简单值(Simple Values) 控制流(Control Flow) 函数和闭包(Functions and Closures) 对象和类(Objects and Classes) 枚举和结构体(Enumerations and Structures) 协议和扩展(Protocols and Extensions) 泛型(Generics) 通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”。在 Swift 中,可以用一行代码实现: println("Hello, world") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift 中,这行代码就是一个完整的程序。你不需要为了输入输出或者字符串处理导入一个单独的库。全局作用域中的代码会被自动当做程序的入口点,所以你也不需要 main 函数。你同样不需要在每个语句结尾写上分号。 这个教程会通过一系列编程例子来让你对 Swift 有初步了解,如果你有什么不理解的地方也不用担心——任何本章介绍的内容都会在后面的章节中详细讲解。 注意: 为了获得最好的体验,在 Xcode 当中使用代码预览功能。代码预览功能可以让你编辑代码并实时看到运行结果。 打开Playground 简单值 使用 let 来声明常量,使用 var 来声明变量

IfcProcessExtension (过程扩展)

梦想与她 提交于 2020-02-09 08:26:30
ifcprocesssextension提供了扩展IFC模型的关键思想之一的主要信息。这就是“过程”的概念,它捕获了关于在逻辑顺序中的过程映射或工作的计划和调度以及完成工作所需任务的思想。重要的是要理解过程信息可以用类来表示,其方式与产品信息完全相同。 ifcprocesssextension扩展了IfcKernel模式中概述的IfcProcess的基本思想。IfcProcessExtension的目标是捕获支持流程映射、工作计划和调度以及执行工作所需的过程和资源的信息。其目的是为常用的流程映射和调度应用程序中的信息交换和共享提供支持;模型的范围将不支持在更专业的应用程序中找到的更详细的思想。 以下内容属于本部分规范的范围: ①定义工作计划,包括计划中包含的任务,并确定计划所需的资源, ②工作进度表的定义以及构成进度表的要素、适用于要素的时间限制和持续时间, ③确定计划和时间表中包含的工作任务和任务类型, ④确定程序和程序类型,以确定响应事件所需的程序步骤, ⑤识别事件和事件类型,以识别流程中需要特定响应的点, ⑥确定流程与流程消耗的资源之间的关系, ⑦为工作计划、工作日程和工作任务分配资源。 Types 1 IfcEventTriggerTypeEnum (事件触发器类型枚举) 2 IfcEventTypeEnum (事件类型枚举) 3 IfcProcedureTypeEnum