应用java反射机制打印一个对象Word格式.docx

上传人:b****1 文档编号:3214594 上传时间:2023-05-01 格式:DOCX 页数:17 大小:16.99KB
下载 相关 举报
应用java反射机制打印一个对象Word格式.docx_第1页
第1页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第2页
第2页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第3页
第3页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第4页
第4页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第5页
第5页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第6页
第6页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第7页
第7页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第8页
第8页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第9页
第9页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第10页
第10页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第11页
第11页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第12页
第12页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第13页
第13页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第14页
第14页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第15页
第15页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第16页
第16页 / 共17页
应用java反射机制打印一个对象Word格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

应用java反射机制打印一个对象Word格式.docx

《应用java反射机制打印一个对象Word格式.docx》由会员分享,可在线阅读,更多相关《应用java反射机制打印一个对象Word格式.docx(17页珍藏版)》请在冰点文库上搜索。

应用java反射机制打印一个对象Word格式.docx

<

day>

<

weatherinfo="

晴"

img="

0"

temperature="

15.0"

/>

winddirect="

无持续风向"

power="

微风"

/day>

night>

4.0"

/night>

/detail>

2012-11-02"

多云"

1"

13.0"

小雨"

7"

6.0"

2012-11-03"

中雨"

8"

7.0"

雨夹雪"

6"

0.0"

北风"

4~5级"

2012-11-04"

阴"

2"

5.0"

-3.0"

3~4级"

2012-11-05"

-4.0"

2012-11-06"

<

10.0"

2012-11-07"

11.0"

/predict_data>

对应的java类:

(是用反射机制自动生成的,等有时间我把生成java类的的代码和注入的代码都贴出来,本来用java动态编译+反射机制可以实现将xml文件直接生成一个java对象的,但是我考虑到在写代码的时候没有智能提示很容易出错,所以选择自动生成类,再创建对象,再注入值)

classPredict_data{

publicStringcity_code=null;

publicStringcity_name=null;

publicStringdate_time=null;

publicStringnodeText=null;

publicDetail[]detail=null;

publicclassDetail

{

publicStringdate=null;

publicStringpt=null;

publicStringnodeText=null;

publicDayday=null;

publicclassDay

{

publicStringnodeText=null;

publicWeatherweather=null;

publicclassWeather

{

publicStringimg=null;

publicStringinfo=null;

publicStringtemperature=null;

publicStringnodeText=null;

}

publicWindwind=null;

publicclassWind

publicStringdirect=null;

publicStringpower=null;

}

publicNightnight=null;

publicclassNight

}

}

打印结果

{

city_code:

101010100

city_name:

北京

date_time:

00

nodeText:

null

detail[

detail{

date:

2012-11-01

pt:

day{

weather{

img:

info:

temperature:

15.0

wind{

direct:

无持续风向

power:

微风

night{

4.0

2012-11-02

1

多云

13.0

7

小雨

6.0

2012-11-03

8

中雨

7.0

6

雨夹雪

0.0

北风

4~5级

2012-11-04

2

5.0

-3.0

3~4级

2012-11-05

-4.0

2012-11-06

10.0

2012-11-07

11.0

]

下面我把代码分享给大家:

(就两个方法,很简单吧!

publicstaticStringobjectToString(Objecto)

StringBuffers=newStringBuffer();

s.append("

{\n"

);

printObject(o,s,"

"

}\n"

returns.toString();

privatestaticvoidprintObject(Objecto,StringBuffers,Stringblank)

Classclazz=o.getClass();

Field[]fields=clazz.getDeclaredFields();

for(inti=0;

i<

fields.length;

i++)

try{

Stringvalue=fields[i].get(o).toString();

//判断是不是对象

if(value.indexOf("

@"

)!

=-1)

{

if(value.startsWith("

[L"

))//如果是数组

{

s.append(blank+fields[i].getName()+"

[\n"

for(intj=0;

j<

Array.getLength(fields[i].get(o));

j++)

{

s.append(blank+"

+fields[i].getName()+"

printObject(Array.get(fields[i].get(o),j),s,blank+"

+"

}

s.append(blank+"

]\n"

}else{

printObject(fields[i].get(o),s,blank+"

}

}else{

s.append(blank+fields[i].getName()+"

:

"

s.append(value+"

\n"

}

}catch(Exceptione){

if(!

fields[i].getName().startsWith("

this"

))

s.append("

null\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2