首页新闻找找看学习计划

在对象数组作为参数传递前,若不先实例化对象数组

0
悬赏园豆:5 [已解决问题] 解决于 2009-12-14 11:22

在一个操作类中有个方法是接收外部对象数组,并在方法里根据数据库的统计进行实例化,
public void GetInfoNewToNSSformChanNo(InfoBean[] Info1, String ChanNo)
{
。。。。。。
            ds.last();
          int count=ds.getRow();
          ds.beforeFirst();
          Info1 = new InfoBean[count];       
        while(ds.next())
          {
          Info1[i]=new InfoBean();
。。。。。。。。。
}

而在调用该方法的其他类中若只声明对象数组:
InfoBean[] bean;
Operator obj=new Operator();
obj.GetInfoNewToNSSformChanNo(bean, "1");

则提示bean需要实例化,但在其他类中根本不知道该对像数组的大小, 这要如何解决!

陳的主页 | 初学一级 | 园豆:200
提问于:2009-12-09 17:29
< >
分享
最佳答案
0

我认为是设计思路的问题。

既然由调用该方法的类来声明对象数组,那么这个类就因该能知道数组的大小,或者说既然需要在方法内部来实例化这个数组,就没有必要通过外边传入这个数据参数。

收获园豆:3
DreamsHunter | 菜鸟二级 |园豆:217 | 2009-12-10 07:24
按DreamsHunter的意思是不是说,在方法类里是返回一对象数组,而在外部定义一对象数组来获取返回的值?
| 园豆:200 (初学一级) | 2009-12-10 09:49
@陳: 你好 ,从你的方法中我只看到你想要往进串一个不确定的参数数组,没有看到你想向外返回数组的意图。
DreamsHunter | 园豆:217 (菜鸟二级) | 2009-12-10 14:41
其他回答(2)
0

List<InfoBean> 用这个也可以啊,

你上面的编写必须要实例化数组。或者随便制定一个长度 例如:InfoBean[] bean=new InfoBean[1];总之你要初始化。

收获园豆:1
邢少 | 园豆:10922 (专家六级) | 2009-12-09 23:16
谢谢,不过长度无法确定,要通过查询数据库后才能确定,如果在外面声明长度,在方法类中重新定义长度,那样数组地址不就变了?
支持(0) 反对(0) | 园豆:200 (初学一级) | 2009-12-10 09:47
0

我觉得你可以考虑用泛类型

收获园豆:1
wuhan | 园豆:11 (初学一级) | 2009-12-10 10:38
能不能给个事例?谢谢
支持(0) 反对(0) | 园豆:200 (初学一级) | 2009-12-10 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册