StringBuffer转换为最大字符数为1300的字符串数组

因为Oracle中的一个普通verchar字段长度最多为4000,所以需要对长字符串进行分割处理。

 

public static String [] str2arr(StringBuffer sb){ int len=sb.length(); if(len!=0){ int n=len/1300; int remainder=sb.length()%1300; if(n==0) { n=1; }else if(remainder!=0){ n=n+1; } String [] strArray=new String[n]; if(n==1){ strArray[0]=sb.toString(); } else{ for(int i=0;i<n;i++){ if(i!=n-1){ strArray[i]=sb.substring(i*1300,(i+1)*1300); }else{ strArray[i]=sb.substring(i*1300,len); } } } return strArray; } else{ return null; } }

 

 

if (StringUtils.isNotEmpty(processOpinionBO.getComments())){ StringBuffer commentsSb = new StringBuffer( processOpinionBO.getComments()); String[] commentArgs = CompareObjectUtil.str2arr(commentsSb); if(commentArgs.length >=1){ processOpinionBO.setComments(commentArgs[0]); processOpinionBO.setContent1(""); processOpinionBO.setContent2(""); processOpinionBO.setContent3(""); if(commentArgs.length >=2){ processOpinionBO.setContent1(commentArgs[1]); if(commentArgs.length >=3){ processOpinionBO.setContent2(commentArgs[2]); if(commentArgs.length >=4){ processOpinionBO.setContent3(commentArgs[3]); } } } } }

你可能感兴趣的:(StringBuffer转换为最大字符数为1300的字符串数组)