在DB2上开发一些Java存储过程,当一个方法的参数个数达到200多的时候,编译出错,说是参数太多,这些参数中很多都是double型的,当我把这些参数的类型改成String型的时候,编译通过,这里我想请教,在Java中,是什么决定了方法中参数的最大个数???

解决方案 »

  1.   

    接收可变参数jdk1.5才支持,db2最新版只支持1.41的版本。没用的
      

  2.   

    如果事实和你描述的完全一样,那就是IBM为DB2开发的JDBC存在bug
      

  3.   

    这主要是跟JVM的堆栈管理有关。不过一个方法的参数多大200个,确实有点夸张,不能改善一下吗?
      

  4.   

    200多个参数,你能管理过来么,你取参数的时候,那手不都写酸了?为什么不写一个,list或map来保存参数呢
      

  5.   

    楼上的兄弟们,我只是想知道Java方法中参数的个数受什么因素制约,参数多,能否管理过来,我不想在此讨论。但目前的系统,确实繁杂,数据库中有250多个表,表中的字段有的多达400多个。
      

  6.   

    充分利用oo功能,可以写一个简单的参数类,或用ArrayList,或用HashMap
      

  7.   

    同意楼上们,编程角度应该用个集合性质的类型代替200多个参数,原理角度限制如果有的话,应该也是jvm堆栈的限制,函数调用时参数都要压栈。
      

  8.   

    也同意楼上们,在一个方法里hard coding 200个参数,怎么看都不象好事。
      

  9.   

    200多个参数,确实比较多。等待高人解答,Java方法中参数的个数受什么因素制约?