最近比较忙,处理项目上各种问题。此时有新任务来临,赶时间记录一个方法,加深对数组的理解
Posted 眸色
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近比较忙,处理项目上各种问题。此时有新任务来临,赶时间记录一个方法,加深对数组的理解相关的知识,希望对你有一定的参考价值。
@Test public void posdwe(){ String sadsd = "3,4,5,6,7,8,9,10,a,b,g,h,r,e,s,45,67"; String[] mList = sadsd.split(","); int haven = 5; System.out.println("原字符串"+sadsd+"太长,业务里面需要进行分组,按照每组"+haven+"个,来执行,最后的一组size按照剩余元素个数来定义"); int j = 0; if (mList.length>haven){ j = mList.length/haven; j++; } // System.out.println(j); List resList = new ArrayList(); for (int i = 1; i <= j; i++) { List<String> mList00 = new ArrayList(); if(haven*i > mList.length){ for(int g = haven*(i-1) ;g< mList.length;g++){ if(g<haven){ mList00.add(g, mList[g]); }else{ mList00.add(g%haven, mList[g]); } } }else{ for(int g = haven*(i-1) ;g< haven*i;g++){ if(g<haven){ mList00.add(g, mList[g]); }else{ mList00.add(g%haven, mList[g]); } } } /**调用业务接口 * 把业务接口返回结果累计到一个父数组 resList.addAll(); * 。。。 * 调用完毕 * */ String[] strs1=mList00.toArray(new String[mList00.size()]); String ll=""; for (String q: strs1) { System.out.println(q); ll +=q; ll +=" "; } System.out.println(ll); } /**输出业务结果 * resList * */ }
这是项目上出现的一个问题,前人写的时候,没想到in("","",.....)有大于1000列的情况,于是项目后台报ORA-01795
于是想到了这个方法,这只是一个很笨的方法,每次修复问题,时间都给的很紧张,其实对于这种的逻辑,最优的改法,是减少对数据库的撞击。从性能方面考虑,改进实现方式。
脑子里有多种方法,但是也不能随意改底层。谁能懂改bug没源码的痛。
以上是关于最近比较忙,处理项目上各种问题。此时有新任务来临,赶时间记录一个方法,加深对数组的理解的主要内容,如果未能解决你的问题,请参考以下文章