存档: 标签: ‘Reflection’

commons-lang-1.0中的EqualsBuilder和HashCodeBuilder

没有评论 2011年2月26日

CompareToBuilder是对jdk中compareTo的一个扩展,提供了一个很好的compareTo()方法,来比较两个对象是否相等。
同样EqualsBuilder和HashCodeBuilder分别是对equals和hashCode方法的扩展。其实,参照CompareToBuilder的实现方式应该很容易理解EqualsBuilder和HashCodeBuilder方式,他们三者都是一种Builder,差别的是具体的实现方式或功能不一样而已,抽象出不同点,他们三者在结构上就是大同小异了。
继续阅读…

commons-lang-1.0中的CompareToBuilder

没有评论 2011年2月26日

CompareToBuilder是对jdk中compareTo的一个扩展,提供了一个很好的compareTo()方法,来比较两个对象是否相等。
这个类通常与EqualsBuilder(对equals方法的扩展)和HashCodeBuilder(对hashcode的扩展)两个类配合使用。
用这个类比较两个对象是否相等的时候,static和transient成员变量会被忽略。
该类中有一个reflectionCompare方法,使用反射决定哪些属性需要被用于测试或是比较两个对象是否相等。对于对象的私有属性,需要用Field.setAccessible()方法修改属性的可见性。除非拥有合适的权限,否则在java的权限管理器下比较会失败。当然,使用反射会比直接比较两个对象是否相等要慢。
继续阅读…

Java5中的注释Annotation

2 条评论 2010年1月29日

注释是java5中的新特性,谈到注释,先的谈谈Java元数据(metadata)。元数据,就是“关于数据的数据”。Java元数据有3种基本类型,还有3个Java内置注释类型,另外还有4中元注释类型。你可能用过Javadoc的注释自动生成文档。这就是元数据功能的一种。总的来说,元数据可以用来创建文档,跟踪代码的依赖性,执行编译时格式检查,代替已有的配置文件(如Hibernate也提供了注释配置)。
继续阅读…

Java 反射机制

没有评论 2010年1月27日

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。

Java中,反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是:如果使用不当,反射的成本很高。 继续阅读…