- 浏览: 1727810 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (288)
- java (59)
- javaweb (15)
- eclipse (16)
- uml (1)
- java ee (7)
- windows (5)
- html (4)
- 数据结构和算法 (6)
- oracle (84)
- struts (3)
- ajax (3)
- hibernate (3)
- spring (12)
- ExtJS (14)
- 随笔 (2)
- JavaScript (9)
- PL SQL (12)
- tomcat (2)
- Plugins (5)
- office (2)
- webService (4)
- others (9)
- htc (1)
- 自定义标签的行为 (1)
- powerDesigner (3)
- webSphere (5)
- linux (6)
- dom4j (1)
- xml (5)
- json (2)
- bat (4)
- spring MVC (5)
- MySQL (12)
- junit (4)
- maven (10)
- jquery (1)
- mongoDB (16)
- git (0)
- mybatis (5)
- svn (3)
- activemq (3)
- quartz_job (1)
最新评论
-
白天看黑夜:
PDMReader实现pdm建模快速导出word,html文件 ...
利用powerDesigner逆向导出oracle表为PDM并把PDM转为CDM -
sanshao:
roompig 写道beancopier只实现了浅拷贝的功能, ...
使用Cglib的BeanCopier实现Bean的拷贝 -
贝塔ZQ:
Java实现导入导出excel文件,利用poi实现感觉代码比较 ...
利用java导入导出excel到oracle数据库 -
suxj16:
部署之后启动有问题org.springframework.be ...
spring mvc文件上传实现进度条(转) -
suxj16:
谢谢分享。部署之后启动有问题org.springframewo ...
spring mvc文件上传实现进度条(转)
其实说起注解语法,对于任何一个Java开发人员来说都已经耳熟能详了,我们每天都在使用着 @author, @param,等等编写注释,然后用javadoc生成文档。Java的这种方便的文档生成方法受到了开发者的普遍赞誉。而从JDK1.5开始,注释语法 提供了更为强大的功能。
注解是程序向编译器传达某种编译信息的方式。比如对一些过时的方法,编译器在编译的时候会提醒程序员:此方法不推荐使用。但是程序员觉得看到这个提示很不爽,于是说:“哥玩了几十年的程序,这个都不知道吗?你不用给我提示了,我懂滴。”于是程序员在程序中嵌入一句
@SuppressWarnings("deprecated");这行代码表示关闭方法过时提示。于是编译器就乖乖的不提示了。这就是注解!
注解的语法,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种
注解,定义在java.lang包中。
@Override 表示当前方法是覆盖父类的方法。使用这个注解,是告诉编译器,这里必须是覆盖父类的方法。如果你发现不是覆盖父类方法的,请打断它的腿!
@Deprecated 表示当前元素是不赞成使用的。若在程序中使用了这个注解,编译会提示这个方法过时,但可以运行。
@SuppressWarnings 叫压缩警告,表示关掉编译器的某些警告。告诉编译器,你少罗嗦,照编译就可以了!
下面自定义一个注解,并使用它:
编写注解类:MyAnnotation.java
package blh.review.reflect; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /* @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括: * RetentionPolicy.SOURCE 注解将被编译器丢弃 * RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃 * RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。 * */ @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { public String anotDsc() default "Myannotation"; }
编写使用注解的类,并检查该类是否使用了注解,打印出注解的信息。
package blh.review.reflect; import java.lang.reflect.Method; @MyAnnotation public class AnnotationTest { @MyAnnotation(anotDsc="This is an Annotation test 0!") public void test0(){} @MyAnnotation(anotDsc="This is an Annotation test 1!") public void test1(){} @MyAnnotation(anotDsc="This is an Annotation test 2!") public void test2(){} public static void main(String[] args) { //Use reflect return method Method [] annMethods= AnnotationTest.class.getMethods(); for(Method annMethod:annMethods){ if (annMethod.isAnnotationPresent(MyAnnotation.class)) { MyAnnotation annotation = annMethod.getAnnotation(MyAnnotation.class); System.out.println("MyAnnotation( method = " + annMethod.getName() + " , anotDsc = " + annotation.anotDsc() + " )"); } } } }
打印结果:
MyAnnotation( method = test0 , anotDsc = This is an Annotation test 0! ) MyAnnotation( method = test1 , anotDsc = This is an Annotation test 1! ) MyAnnotation( method = test2 , anotDsc = This is an Annotation test 2! )
发表评论
-
Java List 生成 树(增强版)
2017-03-20 18:29 4555Java List 生成 树:http://ysj51 ... -
在CentOS中安装与配置JDK8
2017-01-14 21:20 939环境准备 系统环境:centos6.5 安装方式:r ... -
Java List 生成 树(转)
2016-03-15 15:47 8735文章出自:http://www.cnblogs.com ... -
使用Cglib的BeanCopier实现Bean的拷贝
2015-12-01 16:49 28902选择Cglib的BeanCopier进行B ... -
解决Java计算浮点数精度问题(BigDecimal)
2015-11-09 17:52 3103工具类如下: package com.yusj.we ... -
JAVA根据IP地址获取详细的地域信息(转)
2015-07-16 14:45 25661文章出自:http://hejianke83.blog ... -
Java获取客户端的真实IP地址(转)
2015-07-15 16:10 3901文章出自:http://newleague.iteye ... -
XML 和 java对象相互转换(转)
2015-07-14 16:43 4007文章出自:http://hbiao68.iteye.c ... -
Java + MongoDB 实现 hello world 例子(译)
2015-04-22 12:18 3956原文出自:http://www.mkyong.com ... -
Java MongoDB 教程(译)
2015-03-16 15:25 1892原文出自:http://www.mkyong.com ... -
过滤有效查询条件的好方法
2014-11-13 17:25 1589在工作中经常遇到明细查询,前段有很多查询条件,但是不 ... -
解决servlet-api包冲突问题(maven)
2014-08-20 10:12 47105问题描述:本人的项目是用Maven管理,而且用到了s ... -
StringUtils中isEmpty 和isBlank的区别(转)
2014-05-27 16:17 11374文章出自:http://www.2cto.com/kf ... -
JDK动态代理实现原理(转)_AOP简介
2014-04-25 16:28 6386文章出自: http://rejoy.it ... -
对只转发结果集的无效操作: isLast
2014-03-13 14:19 2718在遍历结果集的时候,用rs.isLast()来判断是否到达 ... -
利用java导入导出excel到oracle数据库
2013-12-05 14:46 8635用到的JAR包如下(可以直接到POI官网上下载也可以 ... -
循环读取图片入库
2013-11-26 19:50 1591工作总结备份,见代 ... -
linux中查看java进程(转)
2013-11-15 13:29 1998文章出自:http://blog.csdn.net/m ... -
如何在命令行模式下编译运行带包的java文件(转)
2013-03-29 09:10 1843文章出自 : http://blog.sina.com ... -
如何查找Java文件源代码和Jar包
2013-01-07 14:59 1625把已知类名录入到Class的文本框中,点击Search ...
相关推荐
### JDK 1.5 新特性详解 #### 泛型编程 **定义与作用:** 泛型编程是 Java 1.5 引入的一项重要特性,它允许开发者在编译时进行类型安全检查,从而避免了运行时可能出现的类型转换异常。通过在编译阶段检查类型安全...
2. **泛型**:泛型是1.5最重要的新特性之一,它允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。泛型可以限制集合元素的类型,避免了类型转换错误。 3. **枚举类(enum)**:之前的Java中,...
Java注解(Annotation)是JDK 1.5引入的一项重要特性,它的出现极大地简化了代码,特别是对于元数据的处理。元数据是关于数据的数据,它可以提供额外的信息,但不直接影响程序的运行。注解就是一种声明式编程,允许...
JDK1.5,也称为Java 5.0,是一个重要的版本,它引入了许多新的特性和改进,对Java语言的发展产生了深远影响。 一、泛型(Generics) 在Java 5.0中,最重要的特性之一就是泛型的引入。泛型允许开发者在定义类、接口...
在 JDK 1.5 中,Java 语言引入了一系列重要的新特性,极大地提升了代码的可读性、安全性以及效率。以下是对这些新特性的详细解析: 1. 泛型(Generics) 泛型是 JDK 1.5 最重要的改进之一,它允许在定义集合类时...
- 泛型是JDK 1.5中最显著的新特性之一,它允许程序员在类型级别进行编程,从而提高代码的可读性和重用性,同时减少了强制类型转换的错误。 - 使用泛型可以避免运行时类型检查异常,并且使得集合操作更加安全。 2....
【JDK 1.5新特性详解】 JDK 1.5是Java发展历程中的一个重要里程碑,引入了许多创新特性,极大地提升了开发效率和代码质量。这些新特性包括泛型(Generics)、增强的“for”循环(Enhanced For loop)、自动装箱/...
泛型是JDK1.5最重要的特性之一,它允许在类、接口和方法声明中使用类型参数,以实现数据类型的参数化。泛型提高了代码的类型安全性和可读性,减少了类型转换的需要,并允许编译器检查类型错误。 2. **自动装箱与...
泛型是JDK 1.5最重要的新特性之一,它允许在类、接口和方法中使用类型参数,从而增强了代码的类型安全性和可读性。泛型可以防止在集合中插入不匹配类型的元素,减少了运行时错误的可能性。 2. **自动装箱与拆箱...
这个压缩包包含了三个不同版本的JDK:JDK 1.5、JDK 1.6和JDK 1.8,其中1.5和1.6是早期版本,而1.8是最流行且广泛使用的版本之一。 **JDK 1.5(也称为Java 5.0)** JDK 1.5在2004年发布,引入了许多重要的新特性,如...
枚举是 JDK 1.5 中引入的另一种新特性,用于替代传统的常量类,提供了一种更安全、更强大的方式来定义固定数量的值。枚举类型可以包含方法、变量,甚至实现接口。 - **声明枚举**:使用 `enum` 关键字定义枚举,如 ...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一个Java编译器、Java运行时环境(JRE)、调试工具和其他必要...因此,这个压缩包中的"jdk1.5.exe"可能是开发者为了兼容性或历史项目而寻找的重要资源。
总的来说,JDK 1.5是一个里程碑式的版本,它的许多新特性如泛型、枚举、注解和自动装箱/拆箱等,极大地提高了Java开发的效率和代码质量,也为后续版本奠定了坚实的基础。如果你习惯了使用JDK 1.7,但对JDK 1.5有特殊...
变量注解(annotations)是JDK1.5引入的新特性,它允许在代码中添加元数据,这些元数据可以用于编译器检查、代码生成、运行时处理等。例如,@Override注解确保方法是重写父类的方法,@Deprecated则标记不再推荐使用...
JDK1.5的主要新特性包括: 1. **泛型(Generics)**:泛型允许在类、接口和方法定义中使用类型参数,增强了类型安全,减少了强制类型转换的需要。它使代码更易于理解,减少了错误的可能性。 2. **自动装箱与拆箱...
JDK1.5引入了一些重要的新特性,如: 1. **Generics(泛型)**:允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。 2. **Autoboxing and Unboxing(自动装箱与拆箱)**:自动将基本类型与对应的...
总的来说,JDK 1.5(Java 5.0)的新特性极大地提高了Java的生产力和代码质量。从泛型到增强的for循环,再到注解和枚举,这些改进都让Java开发者能够编写出更安全、更易于维护的代码。在实际开发中,理解并充分利用...
在压缩包"IBMJDK1.5linux.zip"中,主要包含的是IBM JDK 1.5的安装文件和相关文档。安装完成后,开发者可以通过设置环境变量(如JAVA_HOME、PATH)来使用这个JDK。通常,这个JDK会包含Java编译器(javac)、Java解释...
JDK 1.5,也称为Java 5.0,是一个重要的里程碑,因为它引入了许多新的特性和改进,对于Java开发者来说具有深远的影响。 1. 泛型(Generics): JDK 1.5引入了泛型,允许在类、接口和方法中定义类型参数,增强了代码...