@interface是自定义注解的关键字public @interface myAnno(){ String url(); String ip(); }一个拥有两个成员的简单自定义注解定义成功了,就是这么简单。注意:注解的成员名后面必须有一个括号,如url()。为什么?没有为什么,这是语法要求……其他用法1public @interface myAnno(){ // 通过default关键字可以定义一个自带默认值的成员 String url() default "www.wlmqtc.com"; String ip(); }其他用法2public @interface myAnno(){ // 仅有一个成员,且成员名为value()时,使用时,可以省略成员名 String value(); }
元注解,是对注解进行注解,用于规范注解,比如自定义了一个注解,可能需要使用元注解@Target用于说明一个注解的作用目标,比如是作用在方法、字段、方法参数、构造函数、类上、还是包上示例:@Target({TYPE,FIELDMETHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE})@Retention用于说明一个注解的作用范围,比如是在源文件、字节码文件、还是运行时有效示例:@Rentention(RetentionPolicy.SOURCE)以上示例表示,该注解只被保留在源文件阶段,编译为字节码后将被丢弃@Rentention的三个参数(或者说生命周期)RetentionPolicy.SOURCE 只在源码阶段存活RententionPolicy.CLASS 可以在源码和字节码阶段存活( 默认级别 )RententionPolicy.RUNTIME 源码(.java)、字节码(.class)、以及被JVM加载到内存 都是存活的
@SupressWarnings("") 注解初听他的中文名字,觉得忽然想笑,哈哈哈:压制警告作用告知编译器,忽略指定的警告信息参数rawtypes 忽略类型安全警告unused 忽略变量未使用警告deprecation 忽略过时警告unchecked 忽略安全检查警告null 忽略空指针警告all 忽略所有警告
typeof 是一个运算符typeof 返回一个值的数据类型typeof 100 // "number" typeof "ABC" // "string" typeof true // "boolean" typeof function(){} // "function" typeof [] // "object" typeof {} // "object" typeof undefined //"undefined" typeof $var // "undefined"数组([])和对象({})的返回值都是"object",怎么区分呢?Array.isArray([]) // true
ArrayList(常用)ArrayList 继承自 抽象类 List,常见写法:List list = new ArrayList() LinkedListLinkedList 不仅继承自抽象类List,还在此基础上实现了接口Deque (双向链表结构),以及接口Queue(队列)因此,LinkedList不仅具有List 集合的功能方法,更具有了一些特殊方法HashMap(常用)HashMap 是以键值对(key,value)的方式存储数据的,其中key不能重复,示例:HashMap<String,Object> hm = new HashMap<>()HashSetHashSet 中封装了一个 HashMap,Set作为Map的键而存在HashSet 中的元素是唯一的,不重复HashSet 中的元素是无序的(元素的存储顺序无法预测)
Minghui
却道天凉好个秋!
CC BY-NC-SA 4.0