由于J2ME里没有slipt方法,所以用到的时候需要自己写,网上的代码大多都是转成了Vector然后由Vector转为String数组的,我提供一种不需要Vector辅助的方法,两种方法各有利弊,大家权衡。
不需要vector辅助的slipt方法 比较消耗速度 适用于小字符串拆分,由于不需要另外创建一个vector,省去了相当的内存开销,但占用了不小的运算开销,所以适用于字数比较少的字符串拆分。
public static String[] slipt(String st, String sli)
{
int temp = 0;
int length = 0;
String str[] = null;
while((temp = st.indexOf(sli)) != -1)
{
length++;
}
str = new String[length];
for(int i = 0; i < str.length; i++)
{
str[i] = st.substring(0, temp);
st = st.substring(temp+3);
}
return str;
}
需要vector辅助的slipt方法 适用于比较长的字符串,由于只是while了一次,中规中矩,所以比上面的方法要适用,内存的开销一样很大。
public static String[] slipt(String st, String sli)
{
int temp = 0;
Vector v = new Vector(0, 1);
String str[] = null;
while((temp = st.indexOf(sli)) != -1)
{
v.addElement(st.substring(0, temp));
st = st.substring(temp+3);
}
str = new String[v.size()];
for(int i = 0; i < v.size(); i++)
{
str[i] = v.elementAt(i).toString();
}
return str;
}