我有一个对象,我如何根据他动态的声明一个他的数组
比如我New news = new News;
我现在有news这个对象,怎么通过Class建立一个News[]得数组?
问题点数:10、回复次数:15Top
1 楼kevinliuu()回复于 2006-07-04 15:38:37 得分 0
数组定义必须指定大小,动态如何指定大小?Top
2 楼chuanyuan88(船员-逆水行舟,不进则退!)回复于 2006-07-04 15:41:13 得分 0
我是要得到数组的class;
我现在在用反射机制写一个模板,
但是当得到method的时候,
Method method = serviceObject.getClass().getMethod(methodName,
new Class[] { getModelObject().getClass() });
getModelObject().getClass() 这一部分必须制定方法的具体类型,而我的这个是一个数组类型,而且是不同的数组Top
3 楼trumplet(检查)回复于 2006-07-04 15:42:40 得分 0
int n=50000;
News[] newsArray = new News[n];Top
4 楼chuanyuan88(船员-逆水行舟,不进则退!)回复于 2006-07-04 15:45:13 得分 0
汉!!!!!!!trumplet(检查)Top
5 楼liang8305(换工作的时间到了...)回复于 2006-07-04 15:50:05 得分 0
个人觉得...奇怪
所以问一句,为什么要这样做?Top
6 楼chuanyuan88(船员-逆水行舟,不进则退!)回复于 2006-07-04 15:51:35 得分 0
在做一个通用的模板类Top
7 楼javapassion(村长赵大宝)回复于 2006-07-04 15:52:20 得分 0
getModelObject().getClass() 这一部分必须制定方法的具体类型,而我的这个是一个数组类型,而且是不同的数组
----------------------------
你能确定数组的类型吗?或者说数组类型有规律吗?
如果有规律的话,就可以用反射来构造,但就害怕你的数组类型不同!Top
8 楼chuanyuan88(船员-逆水行舟,不进则退!)回复于 2006-07-04 15:59:39 得分 0
我知道数组的基类,比如可以通过news.getClass得到News.classTop
9 楼javapassion(村长赵大宝)回复于 2006-07-04 16:03:00 得分 0
但是如果不知道数组的数据类型,就无法使用
Method method = serviceObject.getClass().getMethod(methodName,new Class[]{})
感觉类型才是关键问题,只要这个能搞到,就可以解决问题了!Top
10 楼chuanyuan88(船员-逆水行舟,不进则退!)回复于 2006-07-04 16:07:31 得分 0
是啊,
Method method = serviceObject.getClass().getMethod(methodName,new Class[]{})
关键是new Class[]{}里头的数组class如何得到?
这个确实是问题的关键,其他都好、说Top
11 楼javapassion(村长赵大宝)回复于 2006-07-04 16:11:19 得分 0
帮你UP了,未知类型我是解决不了!呵呵Top
12 楼chuanyuan88(船员-逆水行舟,不进则退!)回复于 2006-07-18 18:02:15 得分 0
没有人遇到这种情况么?Top
13 楼dog1982()回复于 2006-07-18 19:10:14 得分 0
int length = 100;
News[] newsArray = java.lang.reflect.Array.newInstance(News.class, length);Top
14 楼dog1982()回复于 2006-07-18 19:11:08 得分 0
int length = 100;
News[] newsArray = j(News[]) ava.lang.reflect.Array.newInstance(News.class, length);
Top
15 楼dog1982()回复于 2006-07-18 19:11:45 得分 0
我真笨!
int length = 100;
News[] newsArray = (News[]) java.lang.reflect.Array.newInstance(News.class, length);Top




