日期:2014-05-20  浏览次数:20673 次

j2me 字符串分割(slipt)

由于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;
	}

?

?