当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

操纵Java反射机制必定基本数据典范属性[Java编程]

赞助商链接



  本文“操纵Java反射机制必定基本数据典范属性[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java反射机制供应了一种强盛的利用程序接口来帮忙我们在运行时检测和履行对象上的操作.该机制答应程序员审视一个未知对象,并且得到它的属性,比方对象上的办法,JavaBean的属性以及担当关系等.

Java中有两种范例的值,一种是类范例,它把对象的属性定义在一个类中.类范例是面向对象构造的基本构成部份.第二种范例的值是基本数据范例.反射范例普通用于类范例,但是,其实它也可以很便利利用到Java的基本范例上.

Java中的基本范例担当自基于C的语法,此中包含boolean、byte、short、int、long、float、double、char等范例.

每一个基本范例都与一个java类相关联.这些类封装在java.lang.package中,这个package默许导入全部的java源代码文件.

在java.lang包的基本数据范例包装类中,不是像定义对象那样用类(class)而是用一些特别的常量来表示基本数据的范例(type).比方,是常量Interger.TYPE而不是类Integer表示int范例,是Byte.TYPE常量表示了byte范例.这种方法使得为一个未知的JavaBean成立通用的组件成为大概.

下面是一个例子片断,其作用是按照一个传来的HttpServletRequest中设置JavaBean中的值.

// thrown
Exceptions are left out for ease of reading...
Object bean = ....
BeanInfo bi = Introspector.getBeanInfo(bean.getClass( ));
PropertyDescriptor[ ] pds = bi.getPropertyDescriptors( );
for(int i=0; i String name = pds[i].getName( );
String value = request.getParameter(name);
if(value != null) {
Method method = pds[i].getWriteMethod(
);
value = convert(value,
method.getParameterType( )[0]);
method.invoke(bean, new Object[
] { value } );
}
}
Convert办法中贫乏的代码定义以下:
public Object
convert(Object value, Class type) {
String name = type.getName( );
if( "java.lang.String.equals(name) ) {
return value.toString();
} else
if( "java.lang.Long".equals(name) || (type ==
Long.TYPE) ) {
return convertToLong(value);
} else
if( "java.lang.Integer".equals(name) || (type
== Integer.TYPE) ) {
return convertToInteger(value);
} else
.....
}


  以上是“操纵Java反射机制必定基本数据典范属性[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 操纵javascript得到浏览器中的星号密码
  • 操纵Java运算符
  • 传送和操纵Java对象
  • 操纵Java技术将Atom转换为RDF
  • 操纵java成立躲藏文件
  • <b>操纵Java实现网络传输数据压缩的实例</b>
  • 操纵Java来实现域名和IP地址转换的操作
  • <b>操纵Java实现一个简单的递归算法的实例</b>
  • <b>操纵Java编写网络通信程序</b>
  • 操纵Java Applet播放声音文件
  • 操纵Java语言举行Unicode代理编程
  • 操纵Java3D实现三维图象
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .