package com.wgtgt; import java.util.ArrayList; public class MethodUtil { public static void add(ArrayList<Method> methodList, String methodName, String returnType, String paramListFullName) { if("while".equals(methodName)||"if".equals(methodName)||"for".equals(methodName)||"switch".equals(methodName)||"catch".equals(methodName)){ return; } String name = methodName; ArrayList<Param> paramList=new ArrayList<Param>(); paramListFullName=paramListFullName.trim(); if("".equals(paramListFullName)){ }else{ String[]params=paramListFullName.split(","); for (int i = 0; i < params.length; i++) { String paramFormat=params[i].trim(); String[]param=split(paramFormat); String paramType ="Object"; String paramName = "args"; if(param.length>1){ paramType = param[0]; paramName = param[1]; if(paramName.endsWith("[]")){ String[]paramNameSplit=splitByKuoHao(paramName); String paramNameSplitName=paramNameSplit[0]; String paramNameSplitType=paramNameSplit[1]; paramType+=paramNameSplitType; paramName=paramNameSplitName; } } Param paramEvery=new Param(paramType,paramName); paramList.add(paramEvery); } } Method method=new Method(name, returnType, paramList); methodList.add(method); } public char lastChar(char[]chs,int index){ final int len=chs.length; if(index<0){ return (char)1; }else if(index>=len){ return (char)2; }else{ return chs[index]; } } public static String[]splitByKuoHao(String str){ String[]result=new String[2]; char[]chs=str.toCharArray(); StringBuilder type = new StringBuilder(); StringBuilder name = new StringBuilder(); for (int i = 0; i < chs.length; i++) { char every=chs[i]; if(every=='['||every==']'){ type.append(every); }else{ name.append(every); } } result[0]=type.toString(); result[1]=name.toString(); return result; } public static String[]splitByKuoHao2(String str){ if(str.endsWith("[]")){ return splitByKuoHao(str); }else{ String[]result=new String[2]; result[0]=str; result[1]=""; return result; } } public static String[]split(String paramList){ String paramListFormat=paramList.trim(); char[]chs=paramListFormat.toCharArray(); ArrayList<String>list=new ArrayList<String>(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < chs.length; i++) { char ch=chs[i]; if(Character.isWhitespace(ch)||chs[i]=='['||chs[i]=='<'){ if(ch=='['){ sb.append('['); } boolean jianKuoHaoInner=false; if(ch=='<'){ sb.append('<'); jianKuoHaoInner=true; } while(Character.isWhitespace(chs[++i])||chs[i]=='['||chs[i]==']'||jianKuoHaoInner){ if(Character.isWhitespace(chs[i])){ }else if(chs[i]=='['){ sb.append('['); }else if(chs[i]==']'){ sb.append(']'); }else{ sb.append(chs[i]); if(chs[i]=='>'){ jianKuoHaoInner=false; } } } list.add(sb.toString()); sb = new StringBuilder(chs[i]+""); continue; } sb.append(ch); } list.add(sb.toString()); String[]result=new String[list.size()]; result=list.toArray(result); return result; } }
最近下载更多
j597302044 LV1
2021年5月14日
b012369874 LV2
2020年5月23日
htbbbzhs LV1
2018年3月20日
878102433 LV2
2017年9月13日
w8692414 LV2
2017年8月7日
codesheng LV2
2017年6月27日
luffy018 LV2
2017年5月15日
www0_1com LV3
2017年5月10日
squeer LV1
2016年11月29日
难忘vs回忆 LV2
2016年11月15日
最近浏览更多
wuziayng1232 LV10
2023年2月20日
2812151886 LV1
2022年1月10日
darkerhealerhuji LV2
2021年11月12日
b012369874 LV2
2020年5月23日
0312wangchen LV26
2019年9月14日
sdtzwss LV12
2019年1月28日
lw19900921 LV25
2018年9月19日
jobpan LV1
2018年9月4日
zuoyina
2018年8月31日
暂无贡献等级
kenpfang LV18
2018年4月11日