把用某符号分隔的字符串转换成数组

常见的一道面试题:把某某符号(“,”或 “#”)分隔的字符串转换成一个数组。

思路有两个:

(1)使用split()函数

(2)StringTokenizer


举例:一个字符串str用逗号分隔为:“aa,bb,cc,dd,ee,ff,gg” 要求将其转换成数组


代码:

import java.util.StringTokenizer;

public class Test3{
	public static void main(String[] args){
		String str="aa,bb,cc,dd,ee,ff,gg";
		String[] strArray1=null;
		System.out.println("----Method1: use split----"); //使用split()函数
		strArray1= str.split(",");
		
		// System.out.println("----Method2: use StringTokenizer----"); //使用StringTokenizer
		// StringTokenizer st = new StringTokenizer(str,",");
		// String[] strArray1 = new String[st.countTokens()];

		// int a =0;
		// while(st.hasMoreTokens()){
		// 	strArray1[a++]=st.nextToken();
		// }
	
		//将结果打印出来
		for(int i=0;i


面试中一般会提问用“,”逗号分隔的简单情况,但是也要想到,如果有两种符号分隔,那么在使用split()函数时,就需要用一个for循环,而StringTokenizer则不需要。

另外要注意:StringTokenizer这个类是出于兼容性原因而被保留的遗留类,新代码中并不鼓励使用它。


实际中的情境举例:如初期的高校云平台中评教部分,学生评教时会记录每个评分项的id和该项学生评的分数,实现时使用JavaScript将参数加到url中继续传递。

字符串的样式为:项目a的ID,a的分数#项目b的ID,b的分数#项目c的ID,c的分数

在后面写具体代码的时候,也会选择将参数转化为数组。在初期评教中,使用了split()函数进行了转换。

 
  



你可能感兴趣的:(基础莫忘)