最近比较忙,处理项目上各种问题。此时有新任务来临,赶时间记录一个方法,加深对数组的理解
@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没源码的痛。
我:
不是圣人,做不到舍己为人;
不是痴人,做不到废寝忘食;
不是废人,做不到食不果腹;
不是庸人,做不到无所事事;
是个俗人,有七情六欲;
是个男人,有责任担当;
是个小人,有自己算盘;
是个大人,有自我奉献。
我:
一个在矛盾中不断进步的年轻人。

浙公网安备 33010602011771号