国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用反射機(jī)制確定基本數(shù)據(jù)類型屬性

2019-11-17 05:58:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

java反射機(jī)制提供了一種強(qiáng)大的應(yīng)用程序接口來(lái)幫助我們?cè)谶\(yùn)行時(shí)檢測(cè)和執(zhí)行對(duì)象上的操作。該機(jī)制答應(yīng)程序員審閱一個(gè)未知對(duì)象,并且獲得它的屬性,例如對(duì)象上的方法,JavaBean的屬性以及繼續(xù)關(guān)系等。

Java中有兩種類型的值,一種是類類型,它把對(duì)象的屬性定義在一個(gè)類中。類類型是面向?qū)ο蠼Y(jié)構(gòu)的基本組成部分。第二種類型的值是基本數(shù)據(jù)類型。反射類型通常用于類類型,但是,其實(shí)它也可以很方便應(yīng)用到Java的基本類型上。

Java中的基本類型繼續(xù)自基于C的語(yǔ)法,其中包括boolean、byte、short、int、long、float、double、char等類型。

每一個(gè)基本類型都與一個(gè)java類相關(guān)聯(lián)。這些類封裝在java.lang.package中,這個(gè)package默認(rèn)導(dǎo)入所有的java源代碼文件。

在java.lang包的基本數(shù)據(jù)類型包裝類中,不是像定義對(duì)象那樣用類(class)而是用一些非凡的常量來(lái)表示基本數(shù)據(jù)的類型(type).例如,是常量Interger.TYPE而不是類Integer表示int類型,是Byte.TYPE常量表示了byte類型.這種方式使得為一個(gè)未知的JavaBean創(chuàng)建通用的組件成為可能.

下面是一個(gè)例子片斷,其作用是根據(jù)一個(gè)傳來(lái)的HttpServletRequest中設(shè)置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
.....
}



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 衡山县| 广安市| 巴东县| 郎溪县| 西乌珠穆沁旗| 自贡市| 贵州省| 胶州市| 贵州省| 伊宁县| 夏河县| 化隆| 庆安县| 登封市| 开封市| 辽宁省| 新津县| 延长县| 嘉义县| 永川市| 株洲县| 永吉县| 出国| 临湘市| 丰台区| 萝北县| 呈贡县| 朝阳区| 东光县| 浦东新区| 巢湖市| 台州市| 芦溪县| 丹阳市| 五原县| 宜兰县| 南乐县| 墨脱县| 长泰县| 德安县| 全州县|