我有以下数组声明:
String[] S0001Array = ["CA16977","CA28871","CA26253","CA26316","CA27296","CA27967","CA29418","CA27389","CA27395","CA27716","CA28233","CA28251","CA29938","CA28532","CA29110","CA29380","CA29412","CA29718","CA29719","CA26412","CA28186","CA29272","CA29275","CA29276","CA29278","CA29279","CA29325","CA29577","CA29956","CA29309","CA29457","CA26940","CA29129","CA27905","CA28149","CA28841","CA28888","CA29142","CA29282","CA29283","CA29288","CA29298","CA29344","CA29460","CA16405","CA16959","CA29060","CA29339","CA29415","CA26551","CA28166","CA29307","CA29972","CA29367","CA26302","CA26547","CA29299","CA29300","CA27586","CA27985","CA28828","CA28889","CA29105","CA29877","CA26408","CA27357","CA28099","CA28240","CA28241","CA28252","CA29305","CA27387","CA28091","CA26336","CA27251","CA28899","CA16310","CA27764","CA29306","CA26478","CA29236","CA29783","CA26415","CA29167","CA29358","CA26340","CA26348","CA28755","CA29171","CA26476","CA29057","CA16308","CA17248","CA27937","CA16311","CA16344","CA16455","CA28474","CA28729","CA16347","CA16348","CA16427","CA16979","CA28243","CA28892","CA17240","CA16478","CA17241","CA17242","CA17243","CA26358","CA26431","CA27938","CA28987","CA27880","CA28897","CA29018","CA29802","CA26432","CA26499","CA27231","CA29135","CA29050","CA29489","CA29133","CA26385","CA28742","CA16408","CA26842","CA28907","CA28908","CA29051","CA29151","CA29157","CA29184","CA26869","CA26870","CA26871","CA26872","CA26873","CA26950","CA26972","CA27235","CA28197","CA28204","CA28820","CA28821","CA28829","CA29120","CA29227","CA17238","CA27634","CA27639","CA27640","CA27643","CA27655","CA27665","CA27667","CA27678","CA27681","CA27687","CA27688","CA27699","CA27703","CA27704","CA27738","CA27742","CA27744","CA27746","CA27747","CA27756","CA27757","CA26308","CA26309","CA26310","CA28236","CA28455","CA28783","CA29370","CA29406","CA29778","CA29817","CA26558","CA28833","CA28203","CA27400","CA27587","CA28334","CA28653","CA27435","CA16288","CA16290","CA27350","CA27649","CA29632","CA26487","CA26960","CA27531","CA28998","CA27495","CA27566","CA27565","CA28113","CA28178","CA26394","CA29558","CA27511","CA27513","CA27519","CA28222","CA28316","CA28967","CA29262","CA29640","CA29771","CA27474","CA27477","CA28034","CA28613","CA28733","CA28959","CA29070","CA29193","CA29239","CA16498","CA27205","CA28159","CA28544","CA29738","CA28386","CA28713","CA28791","CA28903","CA28932","CA28952","CA29004","CA29023","CA29052","CA29054","CA29113","CA29166","CA29238","CA29314","CA16407","CA26349","CA27282","CA29740","CA26330","CA27670","CA27980","CA28196","CA28545","CA29923","CA29926","CA29927","CA29932","CA29982","CA26312","CA28188","CA28909","CA29855","CA26305","CA26343","CA27864","CA28372","CA28752","CA29146","CA29155","CA29294","CA29409","CA29882","CA29933","CA17257","CA26557","CA27978","CA29381","CA29968","CA29983","CA26446","CA27776","CA27710","CA17247","CA26838","CA28929","CA29952","CA27865","CA29144","CA29145","CA29178","CA29192","CA29210","CA29246","CA29680","CA16356","CA29630","CA29953","CA28101","CA28758","CA29921","CA29929","CA26344","CA26955","CA29003","CA29315","CA29316","CA29326","CA28546","CA16811","CA28712","CA26337","CA28732","CA29876","CA26549","CA28087","CA28088","CA28089","CA26373","CA27269","CA27272","CA27273","CA27274","CA28220","CA29781","CA29827","CA29942","CA26351","CA28561","CA28627","CA28891","CA29585","CA26488","CA27420","CA27451","CA27460","CA27541","CA28417","CA29138","CA29984","CA28389","CA26519","CA27979","CA29629","CA28179","CA28623","CA29245","CA26543","CA28704","CA29631","CA29219","CA29598","CA29597","CA29607","CA17252","CA17253","CA27332","CA27441","CA27449","CA28301","CA28364","CA28376","CA29016","CA29964","CA29974","CA28662","CA29644","CA29764","CA29780","CA29782","CA29756","CA29871","CA16447","CA16448","CA26521","CA27345","CA28789","CA26511","CA26512","CA26957","CA26517","CA27333","CA28059","CA28537","CA16293","CA26951","CA28044","CA28319","CA16353","CA17258","CA26967","CA27882","CA28320","CA28480","CA29147","CA26383","CA28371","CA16332","CA16929","CA29152","CA29971","CA16333","CA26559","CA28288","CA28858","CA29188","CA16303","CA26448","CA26947","CA27526","CA16300","CA16304","CA16327","CA28547","CA28877","CA29006","CA28154","CA28880","CA16285","CA16305","CA16477","CA29523","CA29961","CA29683","CA28296","CA28696","CA28995","CA26375","CA29741","CA16302","CA29960","CA16317","CA16318","CA16499","CA16810","CA26889","CA28290","CA27463","CA28914","CA16325","CA28973","CA27574","CA28853","CA26331","CA16328","CA26404","CA28577","CA29139","CA28604","CA26384","CA28138","CA28977","CA29194","CA29744","CA29829","CA28994","CA28988","CA16321","CA16322","CA27216","CA28725","CA29159","CA28167","CA28508","CA16319","CA27921","CA26405","CA29924","CA16320","CA29808","CA29955","CA17239","CA27233","CA27631","CA28875","CA28918","CA29776","CA16481","CA26347","CA27299","CA27349","CA28085","CA28107","CA29574","CA29811","CA27232","CA29912","CA27788","CA28726","CA29715","CA27431","CA29994","CA16355","CA16357","CA16802","CA28617","CA28628","CA28501","CA29664","CA29665","CA29917","CA29476","CA29814","CA26417","CA28109","CA29329","CA28597","CA28924","CA26453","CA28756","CA29270","CA26307","CA29446","CA16374","CA28460","CA28750","CA29916","CA16346","CA28573","CA27291","CA28181","CA29181","CA29402","CA29556","CA29642","CA27664","CA28221","CA28225","CA28226","CA28230","CA29071","CA29189","CA29217","CA29292","CA29985","CA29947","CA16367","CA27867","CA26903","CA29591","CA26907","CA28884","CA28885","CA28886","CA26908","CA28198","CA27923","CA29723","CA28825","CA29693","CA29939","CA29614","CA29878","CA28851","CA26377","CA29721","CA26379","CA26381","CA26887","CA28774","CA29866","CA29069","CA29287","CA29393","CA29395","CA28323","CA27709","CA26386","CA28291","CA28410","CA28459","CA28872","CA26414","CA26924","CA26929","CA26961","CA26979","CA27297","CA28503","CA27267","CA27298","CA27594","CA27749","CA27759","CA28603","CA29883","CA16828","CA17246","CA29255","CA29513","CA16457","CA29775","CA16384","CA16386","CA16387","CA27965","CA17216","CA17217","CA17218","CA27815","CA27844","CA27879","CA27958","CA29024","CA29047","CA29589","CA29674","CA27966","CA16450","CA27653","CA27582","CA26520","CA27777","CA28176","CA26393","CA27270","CA29533","CA27287","CA27512","CA27527","CA28223","CA27950","CA27952","CA27368","CA29160","CA16850","CA16851","CA27268","CA29191","CA28212","CA27588","CA27668","CA27403","CA27674","CA29335","CA29763","CA16480","CA17234","CA17235","CA17236","CA17237","CA26314","CA26496","CA26937","CA27294","CA27303","CA27768","CA27790","CA27925","CA28992","CA29007","CA26973","CA29899","CA26473","CA27253","CA27254","CA27467","CA28106","CA28173","CA28205","CA28299","CA29302","CA29319","CA29757","CA27475","CA27476","CA16375","CA16376","CA16803","CA28024","CA28093","CA28831","CA28834","CA28847","CA28849","CA28859","CA17279","CA17265","CA17263","CA17272","CA17264","CA17278","CA17259","CA17260","CA17280","CA17281","CA17282","CA17283","CA17284","CA17285","CA17287","CA17288","CA17289","CA17407","CA17430","CA17431","CA17432","CA17433","CA17424","CA17398","CA17401","CA17402","CA17411","CA17412","CA17422","CA17423","CA17413","CA17414","CA17415","CA17416","CA17417","CA17419","CA17420","CA17421","CA17292","CA28337","CA28344","CA17297","CA17298","CA17266","CA28642","CA28644","CA28688","CA29126","CA26332","CA26334","CA26338","CA19388","CA18888","CA18887","CA18889","CA18890","CA26356","CA26376","CA26369","CA27302","CA26389","CA26420","CA26953","CA28624","CA28981","CA29169","CA29318","CA28378","CA17491","CA17490","CA29777","CA29058","CA17492","CA17534","CA17535","CA17536","CA17537","CA17538","CA17539","CA17540","CA17488","CA17542","CA17545","CA17546","CA17567","CA17571","CA17568","CA17570","CA17569","CA27717","CA27960","CA18986","CA19103","CA26355","CA26472","CA26443","CA29102","CA27953","CA17860","CA17572","CA26380","CA26418","CA26419","CA26905","CA26974","CA27248","CA27481","CA27506","CA27562","CA27613","CA27628","CA27686","CA27694","CA27730","CA27932","CA27900","CA27964","CA27990","CA27731","CA27883","CA28102","CA28200","CA17605","CA17608","CA17606","CA28213","CA28219","CA29141","CA29170","CA27386","CA18429","CA27432","CA27455","CA18332","CA17861","CA17863","CA29346","CA29356","CA29540","CA29388","CA29880","CA29526","CA29965","CA18288","CA29009","CA29875","CA27713","CA28463","CA28534","CA28772","CA18290","CA18291","CA29951","CA18363","CA17865","CA17864","CA29950","CA28110","CA26357","CA26474","CA17917","CA29645","CA29277","CA26475","CA27692","CA26477","CA26809","CA27266","CA27281","CA27478","CA17903","CA17904","CA17908","CA17909","CA17912","CA17915","CA18359","CA18171","CA27761","CA27784","CA27728","CA28156","CA28155","CA28298","CA28257","CA29608","CA29091","CA18145","CA28922","CA27528","CA29656","CA29852","CA29853","CA18335","CA18336","CA18337","CA18300","CA27258","CA18716","CA18720","CA18176","CA27851","CA27762","CA17866","CA18294","CA18293","CA17868","CA17900","CA17916","CA17918","CA17920","CA19134","CA17981","CA17986","CA17982","CA17984","CA17990","CA17991","CA17993","CA17995","CA17989","CA17988","CA17996","CA17998","CA17999","CA18000","CA18001","CA18002","CA18003","CA17997","CA28234","CA18008","CA18023","CA18846","CA18766","CA18027","CA18959","CA18768","CA29868","CA18028","CA18032","CA18033","CA18034","CA18035","CA18037","CA18038","CA18071","CA18426","CA18076","CA18075","CA18852","CA18853","CA18077","CA18851","CA27695","CA18848","CA18361","CA18356","CA18357","CA18849","CA18179","CA18140","CA18141","CA18142","CA29905","CA26926","CA26945","CA19384","CA18080","CA28865","CA27617","CA28589","CA18850","CA26966","CA27292","CA18854","CA18855","CA18856","CA18857","CA18858","CA26409","CA26898","CA27928","CA19114","CA18330","CA28941","CA18331","CA29112","CA29459","CA18762","CA18758","CA18759","CA18760","CA18761","CA18756","CA18757","CA18173","CA18704","CA18183","CA18184","CA18185","CA18383","CA18382","CA18343","CA18342","CA29216","CA19102","CA29049","CA29254","CA29212","CA19100","CA19101","CA18360","CA18287","CA18285","CA18286","CA18350","CA18349","CA18177","CA26345","CA18178","CA29504","CA18863","CA18861","CA18864","CA18865","CA29605","CA18866","CA29684","CA29686","CA18186","CA28906","CA29036","CA29067","CA18364","CA18365","CA18366","CA18367","CA18221","CA18187","CA18188","CA18189","CA18220","CA29140","CA18752","CA18753","CA18754","CA18755","CA18867","CA18862","CA18284","CA18283","CA18222","CA18223","CA18224","CA18225","CA18226","CA18227","CA18228","CA18229","CA18230","CA18190","CA18362","CA18233","CA27209","CA19123","CA17214","CA27265","CA26514","CA29620","CA27202","CA27203","CA27443","CA27461","CA27874","CA27939","CA28009","CA28015","CA28094","CA26822","CA27204","CA27383","CA26513","CA29700","CA28744","CA26840","CA29804","CA29856","CA16373","CA27289","CA27346","CA16343","CA28529","CA27632","CA27338","CA27305","CA29618","CA28622","CA29390","CA29396","CA29398","CA29403","CA29404","CA28753","CA28766","CA29468","CA29911","CA27564","CA27830","CA28578","CA28904","CA29017","CA29182","CA18234","CA18235","CA19122","CA27405","CA27320","CA27434","CA27497","CA28388","CA28442","CA28449","CA29101","CA29592","CA28479","CA28531","CA18236","CA18237","CA18238","CA18339","CA18700","CA18625","CA18626","CA27792","CA18333","CA18282","CA18334","CA18340","CA18341","CA27324","CA18705","CA18299","CA18433","CA18434","CA29033","CA29034","CA19128","CA29909","CA28000","CA18744","CA18745","CA18743","CA29935","CA18746","CA18747","CA18748","CA18749","CA18750","CA27948","CA18763","CA18764","CA16306","CA29948","CA18751","CA18622","CA18623","CA18624","CA29979","CA18296","CA18297","CA18369","CA18368","CA27706","CA28011","CA18769","CA18765","CA18767","CA27931","CA28010","CA18770","CA29002","CA28925","CA18386","CA18387","CA18388","CA18389","CA18736","CA18737","CA29869","CA18738","CA18739","CA18740","CA18741","CA18742","CA18392","CA18421","CA18425","CA18394","CA18390","CA18393","CA27585","CA18395","CA18439","CA18420","CA18440","CA18455","CA18461","CA18437","CA18468","CA18464","CA18470","CA18487","CA18475","CA18476","CA18477","CA18478","CA18479","CA18480","CA18481","CA18482","CA18483","CA18485","CA18484","CA18495","CA18500","CA18498","CA18502","CA18506","CA19244","CA18503","CA18504","CA18505","CA18507","CA18511","CA18510","CA27295","CA18513","CA26938","CA26810","CA19115","CA19116","CA28295","CA18516","CA19117","CA19118","CA19119","CA19113","CA28229","CA18517","CA18984","CA18515","CA19110","CA19109","CA19099","CA19097","CA19105","CA18519","CA18525","CA18979","CA18980","CA18981","CA26440","CA18529","CA18530","CA18532","CA18531","CA18534","CA18533","CA18537","CA18536","CA29593","CA29628","CA29480","CA18539","CA26398","CA26399","CA26400","CA26401","CA28803","CA26897","CA27247","CA28536","CA28757","CA28991","CA28804","CA28812","CA29031","CA29032","CA16479","CA16378","CA16451","CA27968","CA18538","CA18795","CA18859","CA18860","CA18540","CA27644","CA18886","CA27530","CA19132","CA19133","CA18975","CA19131","CA18591","CA18597","CA18592","CA18595","CA16396","CA18599","CA18659","CA18660","CA18619","CA18620","CA18621","CA18707","CA18708","CA18709","CA18710","CA18706","CA28150","CA18616","CA18982","CA19098","CA18618","CA18799","CA18797","CA18798","CA18630","CA18600","CA18641","CA18643","CA18649","CA18651","CA18652","CA18653","CA18644","CA18655","CA18657","CA19120","CA19111","CA19104","CA19121","CA18661","CA18662","CA18664","CA18666","CA19372","CA18668","CA18684","CA18670","CA18671","CA18677","CA18672","CA18694","CA18697","CA18698","CA18695","CA18696","CA27334","CA18701","CA18702","CA17271","CA18874","CA18872","CA26964","CA26963","CA16324","CA16329","CA26515","CA27237","CA27239","CA27238","CA27243","CA27240","CA27654","CA29685","CA27751","CA19106","CA27752","CA27755","CA19127","CA28170","CA28646","CA28201","CA28242","CA28184","CA26528","CA26531","CA18714","CA18724","CA18722","CA18721","CA18723","CA18725","CA19107","CA18180","CA18175","CA18726","CA18727","CA18796","CA18985","CA18729","CA26406","CA18728","CA26416","CA26250","CA29055","CA29228","CA29231","CA27391","CA29235","CA26880","CA26439","CA26442","CA27782","CA18871","CA28887","CA16309","CA29746","CA29943","CA16335","CA16383","CA16978","CA17244","CA28651","CA26548","CA26965","CA27361","CA27466","CA28281","CA28282","CA28306","CA29312","CA17293","CA16476","CA16980","CA17205","CA17286","CA17399","CA17428","CA17429","CA26354","CA26518","CA26544","CA28227","CA28228","CA26813","CA27433","CA28331","CA29271","CA29332","CA28002","CA28180","CA29083","CA29816","CA28394","CA27683","CA27636","CA27271","CA27452","CA28064","CA28238","CA27837","CA28005","CA27849","CA27853","CA28006","CA28001","CA28598","CA27578","CA28894","CA29328","CA28582","CA28538","CA27705","CA26492","CA18658","CA27327","CA27646","CA29986","CA17427","CA29061","CA29863","CA19378","CA19408","CA19409","CA19410","CA19418","CA19448","CA19404","CA19415","CA19417","CA19373","CA19405","CA19406","CA19407","CA19411","CA19412","CA19413","CA19414","CA19374","CA18845","CA18777","CA19446","CA19449","CA29470","CA19124","CA18800","CA18385","CA18974","CA18977","CA18976","CA18973","CA19379","CA19399","CA19447","CA19375","CA19376","CA19389","CA19390","CA19391","CA19392","CA18773","CA18774","CA18772","CA18776","CA18775","CA27806","CA28260","CA28391","CA28667","CA28822","CA18781","CA18785","CA18780","CA18782","CA18784","CA18783","CA18779","CA18788","CA18786","CA18789","CA18791","CA18787","CA18790","CA18792","CA18881","CA18877","CA18878","CA18876","CA18879","CA18880","CA18883","CA18884","CA18778","CA18885","CA18882","CA18875","CA18794","CA18793","CA29743","CA29826","CA29872","CA19403","CA19398","CA19400","CA19401","CA19393","CA19394","CA19395","CA19396","CA19397","CA19402","CA18869","CA18868","CA18899","CA18900","CA18873","CA18892","CA18891","CA18897","CA18898","CA19126","CA26490","CA26875","CA17251","CA16385","CA17473","CA18893","CA18894","CA18895","CA18896","CA18497","CA29599","CA29662","CA29244","CA19382","CA19381","CA19380","CA18955","CA18956","CA18948","CA18949","CA18950","CA18951","CA18952","CA18953","CA18954","CA18958","CA18957","CA28960","CA29281","CA17910","CA26359","CA26433","CA26891","CA28191","CA28905","CA29626","CA18960","CA18969","CA18970","CA18971","CA18983","CA18978","CA18946","CA18947","CA18944","CA18945","CA26411","CA27421","CA28114","CA18968","CA18967","CA18972","CA19125","CA17275","CA16934","CA16935","CA19129","CA19130","CA28090","CA27593","CA28016","CA18423","CA19136","CA27364","CA27372","CA28671","CA18654","CA18656","CA18679","CA18681","CA18683","CA18686","CA18690","CA18693","CA18715","CA18847","CA27673","CA27969","CA19137","CA19140","CA18490","CA27373","CA27618","CA27955","CA18535","CA19386","CA26339","CA27246","CA18499","CA18424","CA17914","CA28878","CA28616","CA28650","CA28958","CA29020","CA28666","CA28171","CA28190","CA27448","CA27597","CA26849","CA26962","CA27224","CA27721","CA17992","CA17994","CA18428","CA26350","CA27835","CA19387","CA28207","CA28317","CA28611","CA19141","CA19142","CA19139","CA19138","CA19135","CA26410","CA18692","CA17225","CA17254","CA19143","CA17397","CA17547","CA18074","CA18079","CA19145","CA19144","CA18172","CA19146","CA17267","CA17268","CA17418","CA17987","CA18486","CA17913","CA17907","CA17911","CA17906","CA16449","CA18358","CA18675","CA18676","CA18678","CA18039","CA16863","CA18231","CA18687","CA18289","CA29317","CA29324","CA29410","CA29873","CA29959","CA18496","CA18527","CA18528","CA18640","CA18646","CA18642","CA18645","CA18647","CA18650","CA19371","CA29349","CA29517","CA29650","CA29211","CA29280","CA18422","CA18648","CA18680","CA18685","CA17901","CA27241","CA29857","CA29892","CA29908","CA29559","CA29240","CA29026","CA19416","CA19420","CA19108","CA19385","CA18688","CA18689","CA18691","CA28340","CA19383","CA29021","CA18370","CA16890","CA27583","CA28765","CA18029"];
上面的代码适用于20-30个条目,但是当我尝试使用GroovyClassLoader加载Groovy类时,我得到一个java.lang.ClassFormatError:类文件异常中的重复方法名称和签名......
有没有办法解决这个问题?
P.S。上面的声明适用于Java(当你将'['和']'更改为'{'和'}'时),但似乎Groovy无法处理如此长的数组声明。
P.P.S
以下是代码的一部分:
String S0001 = "S0001";
String[] S0001Array = ["CA16977","CA28871","CA26253"]; // this works!
//if the above is replaced with the long array declaration I get the exception
S0001Array.each{
refIAMap.put(it.toString(), S0001);
}
P.P.P.S 限制似乎是999元素。
答案 0 :(得分:1)
您需要发布更多细节,以便我们重现您的问题。
我尝试用一些假设重现。
首先,我编写了一个脚本来编写带有巨大数组的脚本:
groovy -e '
print "String[] arr = ["
2000.times { println "\"" + it.toString().padLeft(6, "0") + "\"," }
println "]" ' > Arr.groovy
这就是:
// File Arr.groovy
String[] arr = ["000000",
"000001",
"000002",
"000003",
...
"001998",
"001999",
]
def s0001 = 's0001'
def map = [:]
arr.each {
map[it] = s0001
}
map
编译:
$ groovyc Arr.groovy
以及一些内联测试:
groovy -cp . -e '
def arr = new GroovyClassLoader().loadClass("Arr", false, false, false)
def map = arr.newInstance().run()
assert map instanceof Map
assert map.size() == 2000
assert map["000001"] == "s0001" '
哪个过去了。
在groovy 2.1.8和jdk7u51
上答案 1 :(得分:0)
以下是我能够开展工作的解决方法:
def someVeryLongStringToSplit = 'el1","el2","el3","el4","el5';
def theNeededList = someVeryLongStringToSplit.split('","');