+++一个java方法,包括了300个参数,编译时出错“too many parameter”,怎么办??
我的一个java方法包括了300个参数,在不减少的情况下,如何能够编译成功,并能正确运行?
java的方法是不是限定参数不能超过7个?
问题点数:100、回复次数:66Top
1 楼bluelily22(丁丁)回复于 2005-08-18 18:11:07 得分 2
这么多参数,你用个数组之类的整合一下,或者搞个参数类,直接把类传进进不就可以了
300多个啊,写的记得头都大了Top
2 楼interhanchi(on the Java Road)回复于 2005-08-18 18:13:14 得分 2
^_^,重构!Top
3 楼navy7148(飞尘)回复于 2005-08-18 18:13:41 得分 2
写的太多了。自己给自己找麻烦。把参数封装起来。传过去Top
4 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2005-08-18 18:15:39 得分 2
这个只能说明设计有问题,300来个参数必然有可以被封装成对象的。Top
5 楼XIHSHI(西红柿)回复于 2005-08-18 18:46:30 得分 2
楼主拿我们开涮啊?Top
6 楼alexwan(牧林:才多身子弱)回复于 2005-08-18 18:50:40 得分 2
300个参数,是人都怕!重整!Top
7 楼doway(john)回复于 2005-08-18 18:53:46 得分 2
jf
Top
8 楼ChDw(米)回复于 2005-08-18 19:13:22 得分 2
我还想写一个方法包含100万个参数呢,大家帮帮我吧Top
9 楼weiyi220(唯一)回复于 2005-08-18 19:19:25 得分 2
娱乐吗Top
10 楼jinux(一直想要在我们之间架一座桥)回复于 2005-08-18 19:48:25 得分 0
不是开玩笑:)
因为我使用一个现有的框架,基于这个框架对于UI界面的规范,需要使300个具有相同类型的属性包装在一个类中,所以出现了这样的情况。也没有办法把它们拆开为分开的小类。
是否有人能够了解java对参数的要求?Top
11 楼liltos(糊涂鬼)回复于 2005-08-18 21:16:21 得分 2
骨头里挑鸡蛋还是??????Top
12 楼qiyadeng(。。。。。)回复于 2005-08-18 21:36:52 得分 2
不会吧,从没有听过》
是不是300个参数都有用了啊?Top
13 楼yegaofei(踏雪而歌)回复于 2005-08-18 22:18:56 得分 2
先不说java对参数的要求,可以肯定的是你的300个参数是太多了Top
14 楼yegaofei(踏雪而歌)回复于 2005-08-18 22:19:58 得分 2
就算使300个具有相同类型的属性包装在一个类中,也不必300个一下传给方法吧
放到数组或是集合中也好啊Top
15 楼h_yufa()回复于 2005-08-19 04:43:47 得分 2
楼主有心情玩这些Top
16 楼imA(男的不会,会的不男)回复于 2005-08-19 07:56:35 得分 2
畜生写法。
要采用人类的方式写代码!!!!!Top
17 楼hipop(不怕慢,就怕站;站一站,二里半)回复于 2005-08-19 08:16:32 得分 2
有点意思Top
18 楼jihanzhong(逍遥)回复于 2005-08-19 08:30:03 得分 2
300个............
机器让通过,我还嫌麻烦捏~
-_-;Top
19 楼youthon(可乐可口)(雪碧酷毙)回复于 2005-08-19 08:32:54 得分 2
"too many parameter"的提示并不是因为变量多的原因造成的吧Top
20 楼ffansky(ffansky)回复于 2005-08-19 08:45:02 得分 2
把参数放到 hashtable 里Top
21 楼xiaoweb()回复于 2005-08-19 09:18:01 得分 2
神仙啊,神仙....Top
22 楼shoulders(Developer)回复于 2005-08-19 09:20:43 得分 2
参数真牛啊。Top
23 楼jam_li(一地白菜)回复于 2005-08-19 09:28:59 得分 2
真羡慕楼主有这样的胆量~~~Top
24 楼guoxiaopeng1982(从小就很狂)回复于 2005-08-19 09:30:15 得分 2
天啊!!JAVA的优势都被楼猪搞没有了!!汗……………………Top
25 楼Polarislee(北极星)(无房无车,飘在北京)回复于 2005-08-19 10:11:25 得分 2
应该是每什么办法了,总觉得300个变量是不可能不能缩减的Top
26 楼riancoat(失去和获得是平衡的,最重要的是不要失去自己)回复于 2005-08-19 10:14:28 得分 2
先寒一个.......
-_-!
JAVA.....Top
27 楼eureka0891(迷茫中...)回复于 2005-08-19 10:20:43 得分 2
SQL的存储过程还只能传20多个参数呢
要那么多干嘛,你累不累啊?
用数组或者其它的不就行了,楼主不会是有一个300维的数组,然后不用数组,用单个变量传的吧?Top
28 楼c9714052(ali)回复于 2005-08-19 10:28:37 得分 2
提示的意思是说你传的参数个数比函数需要的参数多。Top
29 楼jialin_2004(老猫)回复于 2005-08-19 10:46:33 得分 2
要不先放到session里Top
30 楼rower203(华仔)回复于 2005-08-19 11:00:02 得分 2
哪有不能封装的?
分分类,封装一下。-----我想也是白说类!理解不了,没办法。Top
31 楼goingon99()回复于 2005-08-19 11:05:07 得分 2
愚蠢的想法也是一种创意!Top
32 楼boyu_song(我这样会不会遭天谴,我只是想看看这个论坛的ID最大可以多大?)回复于 2005-08-19 11:12:21 得分 2
利用JAVA BEAN被!
不过就写这个BEAN 也得够累的了Top
33 楼layueer(爱伤怀,努力升仙)回复于 2005-08-19 11:12:41 得分 2
eg:
public class ServletVOClass
implements Serializable {
String szE_NAME = "";
String szE_ID = "";
String szC_NAME = "";
String szD_ID = "";
String szC_ID = "";
}
ServletVOClass tmpVOResultClass = null;
然后把tmpVOResultClass当成参数传过去
Top
34 楼Dan1980()回复于 2005-08-19 12:53:10 得分 2
我设计方法时, 超过五个参数, 我就要考虑重新设计了, 三百个, 就算JAVA允许, 我也用不上!Top
35 楼HITZXL(编程要厚道)回复于 2005-08-19 13:02:39 得分 2
有个性!Top
36 楼jinux(一直想要在我们之间架一座桥)回复于 2005-08-19 13:27:07 得分 0
现在就是基于有这么一个300个参数的函数。
它是由工具程序自动生成的,但生成以后没法编译。Top
37 楼sunhw2002(爪哇帝国里游荡)回复于 2005-08-19 13:31:48 得分 2
不是在这里寻找帮助吗?
大家说话何必这样苛刻呢?
帮顶下吧Top
38 楼simbas00(我是被诅咒了!我微笑着,享受这痛苦生活带来的仅有快乐)回复于 2005-08-19 13:34:58 得分 2
不知道楼主是强还是傻Top
39 楼galahadzzy(圣冰之火)回复于 2005-08-19 13:39:48 得分 2
赞一个,楼主说的是相同类型么?那还是用数组吧Top
40 楼OMA_yudy(太平洋深深)回复于 2005-08-19 13:58:46 得分 2
搞几个参数类看看.Top
41 楼jinux(一直想要在我们之间架一座桥)回复于 2005-08-19 14:09:54 得分 0
这样的方法,大家编译试试:
public Pib createPib(
short accessLevelBrowse
, short accessLevelDelete
, short accessLevelUpdate
, boolean disabled
, org.opencrx.kernel.topeng1.cci.Pibdata1 data1
, org.opencrx.kernel.topeng1.cci.Pibdata2 data2
, org.openmdx.uses.javax.xml.datatype.XMLGregorianCalendar whichday
, String zDescrip
, int b1w10ct
, String b1w10decision
, String b1w10descrip
, String b1w10fault
, int b1w11ct
, String b1w11decision
, String b1w11descrip
, String b1w11fault
, int b1w12ct
, String b1w12decision
, String b1w12descrip
, String b1w12fault
, int b1w13ct
, String b1w13decision
, String b1w13descrip
, String b1w13fault
, int b1w14ct
, String b1w14decision
, String b1w14descrip
, String b1w14fault
, int b1w15ct
, String b1w15decision
, String b1w15descrip
, String b1w15fault
, int b1w16ct
, String b1w16decision
, String b1w16descrip
, String b1w16fault
, int b1w17ct
, String b1w17decision
, String b1w17descrip
, String b1w17fault
, int b1w18ct
, String b1w18decision
, String b1w18descrip
, String b1w18fault
, int b1w19ct
, String b1w19decision
, String b1w19descrip
, String b1w19fault
, int b1w1ct
, String b1w1decision
, String b1w1descrip
, String b1w1fault
, int b1w20ct
, String b1w20decision
, String b1w20descrip
, String b1w20fault
, int b1w21ct
, String b1w21decision
, String b1w21descrip
, String b1w21fault
, int b1w22ct
, String b1w22decision
, String b1w22descrip
, String b1w22fault
, int b1w2ct
, String b1w2decision
, String b1w2descrip
, String b1w2fault
, int b1w3ct
, String b1w3decision
, String b1w3descrip
, String b1w3fault
, int b1w4ct
, String b1w4decision
, String b1w4descrip
, String b1w4fault
, int b1w5ct
, String b1w5decision
, String b1w5descrip
, String b1w5fault
, int b1w6ct
, String b1w6decision
, String b1w6descrip
, String b1w6fault
, int b1w7ct
, String b1w7decision
, String b1w7descrip
, String b1w7fault
, int b1w8ct
, String b1w8decision
, String b1w8descrip
, String b1w8fault
, int b1w9ct
, String b1w9decision
, String b1w9descrip
, String b1w9fault
, int b2w10ct
, String b2w10decision
, String b2w10descrip
, String b2w10fault
, int b2w11ct
, String b2w11decision
, String b2w11descrip
, String b2w11fault
, int b2w12ct
, String b2w12decision
, String b2w12descrip
, String b2w12fault
, int b2w13ct
, String b2w13decision
, String b2w13descrip
, String b2w13fault
, int b2w14ct
, String b2w14decision
, String b2w14descrip
, String b2w14fault
, int b2w15ct
, String b2w15decision
, String b2w15descrip
, String b2w15fault
, int b2w16ct
, String b2w16decision
, String b2w16descrip
, String b2w16fault
, int b2w17ct
, String b2w17fault
, int b2w1ct
, String b2w1decision
, String b2w1descrip
, String b2w1fault
, int b2w2ct
, String b2w2decision
, String b2w2descrip
, String b2w2fault
, int b2w3ct
, String b2w3decision
, String b2w3descrip
, String b2w3fault
, int b2w4ct
, String b2w4decision
, String b2w4descrip
, String b2w4fault
, int b2w5ct
, String b2w5decision
, String b2w5descrip
, String b2w5fault
, int b2w6ct
, String b2w6decision
, String b2w6descrip
, String b2w6fault
, int b2w7ct
, String b2w7decision
, String b2w7descrip
, String b2w7fault
, int b2w8ct
, String b2w8decision
, String b2w8descrip
, String b2w8fault
, int b2w9ct
, String b2w9decision
, String b2w9descrip
, String b2w9fault
, String b2w17decision
, String b2w17descrip
, int b2w18ct
, String b2w18decision
, String b2w18descrip
, String b2w18fault
, int b2w19ct
, String b2w19decision
, String b2w19descrip
, String b2w19fault
, int b2w20ct
, String b2w20decision
, String b2w20descrip
, String b2w20fault
, int b2w21ct
, String b2w21decision
, String b2w21descrip
, String b2w21fault
, int b2w22ct
, String b2w22decision
, String b2w22descrip
, String b2w22fault
, int b2w23ct
, String b2w23decision
, String b2w23descrip
, String b2w23fault
, int b2w24ct
, String b2w24decision
, String b2w24descrip
, String b2w24fault
, int b3w10ct
, String b3w10decision
, String b3w10descrip
, String b3w10fault
, int b3w11ct
, String b3w11decision
, String b3w11descrip
, String b3w11fault
, int b3w12ct
, String b3w12decision
, String b3w12descrip
, String b3w12fault
, int b3w13ct
, String b3w13decision
, String b3w13descrip
, String b3w13fault
, int b3w14ct
, String b3w14decision
, String b3w14descrip
, String b3w14fault
, int b3w15ct
, String b3w15decision
, String b3w15descrip
, String b3w15fault
, int b3w1ct
, String b3w1decision
, String b3w1descrip
, String b3w1fault
, int b3w2ct
, String b3w2decision
, String b3w2descrip
, String b3w2fault
, int b3w3ct
, String b3w3decision
, String b3w3descrip
, String b3w3fault
, int b3w4ct
, String b3w4decision
, String b3w4descrip
, String b3w4fault
, int b3w5ct
, String b3w5decision
, String b3w5descrip
, String b3w5fault
, int b3w6ct
, String b3w6decision
, String b3w6descrip
, String b3w6fault
, int b3w7ct
, String b3w7decision
, String b3w7descrip
, String b3w7fault
, int b3w8ct
, String b3w8decision
, String b3w8descrip
, String b3w8fault
, int b3w9ct
, String b3w9decision
, String b3w9descrip
, String b3w9fault
, int gddct
, String gdddecision
, String gdddescrip
, String gddfault
, int gdgct
, String gdgdecision
, String gdgdescrip
, String gdgfault
, int kd1ct
, String kd1decision
, String kd1descrip
, String kd1fault
, int kd2ct
, String kd2decision
, String kd2descrip
, String kd2fault
, int qtglct
, String qtgldecision
, String qtgldescrip
, String qtglfault
, int qtjbct
, String qtjbdecision
, String qtjbdescrip
, String qtjbfault
, int sbecct
, String sbecdecision
, String sbecdescrip
, String sbecfault
, int sbezct
, String sbezdecision
, String sbezdescrip
, String sbezfault
, int sbf1ct
, String sbf1decision
, String sbf1descrip
, String sbf1fault
, int sbf2ct
, String sbf2decision
, String sbf2descrip
, String sbf2fault
, int sbfcct
, String sbfcdecision
, String sbfcdescrip
, String sbfcfault
, int sbfzct
, String sbfzdecision
, String sbfzdescrip
, String sbfzfault
, int sbscct
, String sbscdecision
, String sbscdescrip
, String sbscfault
, int sbszct
, String sbszdecision
, String sbszdescrip
, String sbszfault
, int sbycct
, String sbycdecision
, String sbycdescrip
, String sbycfault
, int sbyzct
, String sbyzdecision
, String sbyzdescrip
, String sbyzfault
);
Top
42 楼skycncomp(闭关修练到年底)回复于 2005-08-19 14:39:22 得分 2
java最多只充许有254个参数,你放这么多干嘛??
Top
43 楼Dan1980()回复于 2005-08-19 14:49:09 得分 2
编程的宗旨之一是减少重复劳动, 你的参数中有很明显的有规律的重复. 这是一个很明显的设计上的失败.Top
44 楼dch4890164(巴拉克)回复于 2005-08-19 15:37:41 得分 2
哈哈,笑死我啦!!Top
45 楼jinux(一直想要在我们之间架一座桥)回复于 2005-08-19 16:14:13 得分 0
可是这个我是用工具程序生成的,解决了我大量数据的输入、存储、查询和显示的自动处理过程,它能够在框架中自动的调用页面显示大批量的数据,所以我要这样来做。Top
46 楼yinwenjie(java入门中)回复于 2005-08-19 16:16:44 得分 2
封装一下吧,要是我是使用这个方法的人看到这个方法我就想打你了!!Top
47 楼lihanbing(lihanbing)回复于 2005-08-19 16:23:51 得分 2
函数是用工具生成的,调用应该也不是由人来写的吧,出现这种情况只能说当初设计工具的人考虑不周,就拿你说的那个工具开刀吧。Top
48 楼boyu_song(我这样会不会遭天谴,我只是想看看这个论坛的ID最大可以多大?)回复于 2005-08-20 07:41:47 得分 2
这樣,你建立一个bean,然后把:
int sbscct
String sbscdecision
String sbscdescrip
String sbscfault
这些装到里面,比如起名叫:team
然后定义一个team的数组,然后把这个team类的数组当做参数传进去,
试试看,会简单不少,不过应该还有比这简单的方法。Top
49 楼panlyhoo(龙城追命)回复于 2005-08-20 10:07:55 得分 2
niurenaTop
50 楼apicescn(两只蝴蝶_Allen)回复于 2005-08-20 13:33:57 得分 2
用ArrayList呀!或者采用继承呀!也不能把这多么的参数放在一起的呀!这肯定不建议采用的。Top
51 楼xyj0323(好好学习,天天向上)回复于 2005-08-20 19:06:01 得分 2
楼主好强!Top
52 楼pvii(pvii)回复于 2005-08-20 22:11:49 得分 2
楼主不会吧
(要是一段代码要执行300次,你也不会......:P)Top
53 楼bob_thb(绿果)回复于 2005-08-20 22:31:22 得分 2
搞个类啊!Top
54 楼nhkwokyo(子夜星雨)回复于 2005-08-21 00:33:26 得分 2
寒-就一个字Top
55 楼yang_neusoft()回复于 2005-08-21 13:17:55 得分 0
有人面试的时候被问过这样的问题Top
56 楼pope_tju(飞刀小虫)回复于 2005-08-21 14:58:28 得分 0
好像JDK1.5可以不限制参数的个数了Top
57 楼liqiang208(今后只爱自己)回复于 2005-08-21 20:50:58 得分 0
楼主你真的是太强了
偶像呀Top
58 楼guyungong(唉!一声叹息)回复于 2005-08-21 21:28:54 得分 0
有想法,应该支持一下。我不会整Top
59 楼LongLongRiver(恒远之河)回复于 2005-08-21 21:53:09 得分 0
用Collection或Vector封装试试Top
60 楼boyu_song(我这样会不会遭天谴,我只是想看看这个论坛的ID最大可以多大?)回复于 2005-08-22 08:01:08 得分 0
楼上的说项量吗?Top
61 楼zdsdiablo(十分钟年华老去)回复于 2005-08-22 08:44:15 得分 0
对呀,做成javabean不就得了,然后传javabean呗
================================================================
http://blog.csdn.net/zdsdiablo 角落里的理想
--------十分钟年华老去
================================================================
Top
62 楼TOMMY19820819(随风飘扬)回复于 2005-08-22 08:52:57 得分 0
用类写,把参数封装起来,就OK了Top
63 楼chinajoan()回复于 2005-08-22 09:23:46 得分 0
天,你的参数不是有很多是重复的吗,为什么要这么写Top
64 楼jinux(一直想要在我们之间架一座桥)回复于 2005-08-22 11:04:04 得分 0
我的参数没有重复的!
因为这样生成的方法也是被系统内部调用的,我不想改变他,现在是如何能够编译成功或能正常运行?Top
65 楼fancyhf()回复于 2005-08-22 11:11:43 得分 0
关键还是你应用有错.
你还是可以把300个参数打小的.
需要你改变你的设计,那样工具才可以生成更少参数的接口.Top
66 楼gavin_reg(ggan)回复于 2005-08-22 11:20:45 得分 0
头都大了,怎么别人开发的那些更大型的工程所用的参数又少又清爽呢,看来楼主是该好好改一下程序了 ^_^Top




