枚举&注解】的更多相关文章

枚举类 如何自定义枚举类 JDK1.5之前需要自定义枚举类 JDK 1.5 新增的 enum 关键字用于定义枚举类 若枚举只有一个成员, 则可以作为一种单例模式的实现方式 //枚举类 class Season{ //1.提供类的属性,声明为private final private final String seasonName; private final String seasonDesc; //2.声明为final的属性,在构造器中初始化. private Season(String se…
Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android. 很多开发规范都是不建议在Android中使用枚举的,在Android系统中使用枚举的开销是使用常量的2倍.一般地,在一个文件中定义常量 public class FileType { public static final int TYPE_MUSIC =…
1.自定义枚举类的实现,例: class Season{ //1,提供类的属性,声明为rivate final private final String name; private final String Desc; //2,声明为final的属性,在构造器中初始化,构造器为private private Season(String name, String desc){ this.name = name; this.Desc = desc; } //3,通过公共的方法来调用属性 public…
枚举:自定义枚举类 使用Enum关键字定义的枚举类 注解:jdk内置的基本注解类型(3个) 自定义注解类型 对注解进行注解(元注解4个) 利用反射获取注解信息(反射部分涉及) 自定义枚举类: TestSeason package com.aff.Gen; //自定义的枚举类 public class TestSeason { public static void main(String[] args) { Season spring = Season.SPRING; System.out.pri…
@Enumerated(value=EnumType.ORDINAL)采用枚举类型的序号值与数据库进行交互, 此时数据库的数据类型需要是数值类型,例如在实际操作中 CatTest ct = new CatTest(); ct.setColor(Color.BLUE); 当我们将对象gt保存到数据库中的时候,数据库中存储的数值是BLUE在Color枚举 定义中的序号1(序号从零开始): @Enumerated(value=EnumType.STRING)采用枚举类型与数据库进行交互, 此时数据库的…
需求:需要将枚举类型的字段例如enable(是否启用)转化为enable:1,enableName:是.这种形式返回给前台. 思路:在bean字段上加上枚举类型的注解,通过字段的值和枚举类反射获取枚举的key和value. 枚举注解: import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.…
在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定.Java也不例外.Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析. 什么是Enum Enum是自Java 5 引入的特性,用来方便Java开发者实现枚举应用.一个简单的Enum使用如下. // ColorEnum.javapublic enum ColorEmun { RED, GREEN, YELLOW} public void setColorEnum(ColorEmun colorEnum) {…
反射 框架设计的灵魂 框架:半成品软件.可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象,这就是反射机制 好处: 可以在程序运行过程中,操作这些对象. 可以解耦,提高程序的可扩展性. 获取Class对象的方式: Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 多用于配置文件,将类名定义在配置文件中.读取文件,加载类 类名.class:通过类名的属性class获取 多用于参数的传递 对象.getClass():getC…
自从JDK5開始Java開始添加了对元数据(MetaData)的支持,也就是注解(Annotation),到JDK7时已经有四种基本注解,新添加了一种@SafeVarargs. @Override注解标注一个子类重写了父类的某个方法,假设父类中没有这种方法,编译器会报错: @Deprecated注解作用于方法.类.接口,表名此内容已经过去,是不是不推荐使用?可是标注过也是能够使用的: @SupressWarnings注解用来抑制编译器的警告信息.比如使用集合时假设不指定泛型将有警告信息: @Sa…
2005年,sun公司推出了jdk1.5,同时推出的注解功能吸引了很多人的目光,使用注解编写代码,能够减轻java程序员繁琐配置的痛苦. 使用注解可以编写出更加易于维护,bug更少的代码. 注解是什么呢?按照官方的说法,注解就是元标签,可以添加到你的代码,并应用于包声明.类型声明.构造函数.方法.字段.参数和变量. 注解提供了一种非常有用的方法来显示你编写的方法是否依赖于其他方法,它们是否完整,编写出的类是否引用了其他类,等等. 按照Oracle官方的说法,基于注解编写出的java代码会根据源代…
Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 * 建议: * 方法名:test测试的方法名 testAdd() * 返回值…
前言 上一节我们讲解了Hibernate的主键生成策略,本节我们继续来讲讲Hibernate中针对列的映射即@Column注解,文中若有错误之处,还望指正. @Column注解详解 我们看到如上针对列注解上所对应的属性设置,主要要列名.唯一约束(默认为非).可空(默认为空).可插入(默认为true).可更新(默认为true).列定义(默认空字符串).所属表名(默认为空字符串).长度(默认为255).小数位数(默认为0)等,这里我们重点讲解insertable.updatable.columnDe…
一.Junit单元测试 1.1 测试分类: 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 白盒测试:需要写代码的.关注程序具体的执行流程. 1.2 Junit使用(白盒测试) 使用步骤: 定义一个测试类(测试用例) 测试类名:被测试的类名Test,如 CalculatorTest 包名:xxx.xxx.xx.test,如 cn.itcast.test 定义测试方法:可以独立运行 方法名:test测试的方法名,如 testAdd() 返回值:void 参数列表:空参 为了让方法独…
目录 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. Junit使用:白盒测试 步骤: 1. 定义一个测试类(测试用例) 建议: 测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 建议: 方法名:test测试的方法名 tes…
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流! Android Studio 内置了代码检查工具 Lint,可在菜单栏选择 Analyze > Inspect Code 执行相应的代码检查,代码检查能够根据推断一些不合法的潜在问题,有助于在开发阶段发现开发者因为主管原因导致的一下代码问题,Android 官方提供了注解库 support-annotations 来帮助开发者及早发现问题,下面是常用的一些注解,主要内容如下: Nullness注解 资源注解 线程注解 值约束注…
0.序言 自己写这些文章本来想着自己系统的整理下知识,将知识串起来,后面复习用,或者以后年龄大了,去教育机构呀,拿出自己整理的笔记,你看这人爱总结爱分享,文笔也还能看,方便找工作不是. 很开心的是,有人扫描了微信二维码(并不是打赏哈),可能是个新手吧,跟我以前一样,可能看了文章还不懂,觉得讲的不够庸俗,哈哈通俗易懂哈,我就想着后面写文章先把要写的技术是做什么的用生活术语或者段子写出来,不是上来就是一堆定义,使用这些,对看博客的人不友好. 好了开始今天的注解: 从前有个动物饲养员,会往不同的动物身…
一. 反射 反射: 将类的各个组成部分封装为其他对象. 1.1 获取class对象的方式 Class.forName("全类名"): 将字节码文件加载进内存,返回class对象 多用于配置文件,将类名定义在配置文件中,读取文件,加载类 类名.class: 通过类名的属性class获取 多用于参数的传递 对象.getClass(): 多用于对象的获取字节码的方式 注意: 以上三种方法获得的字节码文件地址相同 同一个字节码文件在一次程序运行中只会加载一次. 1.1.1 代码演示 示例per…
1.Junit单元测试 * 测试分类:     1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值.     2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试     * 步骤:         1. 定义一个测试类(测试用例)             * 建议:                 * 测试类名:被测试的类名Test        CalculatorTest                 * 包名:xxx.xxx.xx.tes…
内容索引 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 * 建议: *…
单元测试.反射.注解 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 *…
基于自定义Validator来验证枚举类型 一.背景 二.技术要点 三.实现一个自定义枚举校验. 1.需求. 2.实现步骤 1.自定义一个 Sex 枚举. 2.自定义一个 Enum 注解 3.编写具体的验证逻辑类 4.编写一个web请求,添加学生. 1.创建请求参数实体类 2.编写访问方法 3.页面访问 1.sex 属性的值在 Sex 枚举的范围之内 2.sex 属性的值不在 Sex 枚举的范围之内 四.对应关系 五.参考文档 一.背景 在我们系统中,有部分字段的值是枚举类型的,但是请求参数中一…
自定义注解: 格式: public @interface 注解名称{} 本质:注解本质上就是一个接口,该接口默认继承Annotation接口 public interface MyAnno extends java.lang.annotation.Annotation{} 所有注释类型扩展的公共接口.注意,手动扩展这个接口不限定注释类型.还要注意,词接口本身并不定义注释类型. 属性:接口中的抽象方法 要求: 1.属性的返回值类型有一下列取值: 基本数据类型 String 枚举 注解 和以上类型的…
1:设置类,接口,枚举注解模板 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end/** * ${DESCRIPTION} * @author tom_plus * @date ${YEAR}-${MONTH}-${DAY}-${TIME} */public class ${NAME} {} 2:设置方法注解 /** * @description $DESCRIPTION$…
一:基本数据类型 (1):整数类型   byte,short,int,long (2):浮点类型   float , double (3):布尔类型 boolean 注意: long 类型的变量后面要加一个 l 或者是 L  最好是加 L ,因为这个大写,好区分一些 要声明一个常量是float型,则需要在常量后面加上  f或者是F  例如 float pi=3.14F 或转型 float pi=(float)3.14   二:最常用的引用数据类型   string 类,枚举,注解,接口,数组…
Java的哪些事--------------------------------------------------Java学习分2个方面: Java语法与Java类库 Java: A simple, object-oriented, network-savvy, interpeted, robust, secure, architecture-neutral, portable, high-performance, multithread, dynamic language. 第一部分: Ja…
你好 我是大福 你现在看的是大福笔记 又降温了 下点小雨 出门有点冷 走路到公司20多分钟,又走的有点热 昨天说到了,今年的计划是从零开始重新学习并梳理下这两年学习和接触到的技术 那么今天开始第一个知识点JavaSE的学习 学习之前的首要任务是选择教程 关于Java的书籍好多,下图是现在手上已买的书籍,也算买了不少(全部看完的基本没有) 其中那本[Java编程思想]还是低价收购来的二手的(那时没钱,然后大家都说这本书是Java的圣经) 不过今天并不想选择其中一本作为学习的教材.个人比较懒,还是比…
创建和销毁对象 考虑用静态工厂方法代替构造器 遇到多个构造器参数时要考虑用构建器 用私有构造器或者枚举类型强化Singleton属性 通过私有构造器强化不可实例化能力 避免创建不必要的对象 消除过期的对象引用 避免使用终结方法finalizer 对于所有对象都通用的方法 覆盖equals时请遵守通用约定 覆盖equals时总要覆盖hashCode 始终要覆盖toString 谨慎地覆盖clone 考虑实现Comparable接口 类和接口 使类和成员的可访问性最小化 在公有类中使用访问方法而非公…
目录 1.从Spring容器的核心谈起 2. 反射技术初探 2.1 什么是反射技术 2.2 类结构信息和java对象的映射 3 Class对象的获取及需要注意的地方 4. 运行时反射获取类的结构信息 5. 运行时反射获取泛型的真实类型 5.1 反射包下对类型概念的抽象层次结构 5.2 运行时获取带泛型的类,字段,方法参数,方法返回值的真实类型信息 5.3 运行时泛型父类获取子类的真实类型信息 5.4 泛型的类型信息不是编译期间就擦除了吗 6. 反射创建实例,方法调用,修改字段 7. 反射的缺点…
反射 反射是框架设计的灵魂 一.类的加载时机 当程序要使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 :就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 连接:验证 是否有正确的内部结构,并和其他类协调一致.准备 负责为类的静态成员分配内存,并设置默认初始化值. 初始化:初始化成员变量等等. 加载时机 创建类的实例 访问类的静态变量,或者为静态变量赋值 调用类的静态方法 初始化…
Java 5-11新特性的整理(转) 作者:拔剑少年 简书地址:https://www.jianshu.com/u/dad4d9675892博客地址:https://it18monkey.github.io Java 5 1 泛型 (Generics) List<Integer> list = new ArrayList<Integer>(16); Map<String, Object> map = new HashMap<String, Object>(3…