有時候,需求要求傳遞多個字符串參數,但是方法參數已經固定為單個String,筆者在學習unity和android之間的消息傳遞時就遇到這個問題,所以就寫了這么一個解析字符串拆分單獨元素的方法。
示例:“@my@red@apple”
解析為:
my
red
apple
1 package cutstring; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Scanner; 6 /** 7 * 8 * @ClassName: MainClass 9 * @Description: 字符串格式"@a@b@c",a,b,c會被解析為單獨的元素 10 * @author luxishi 11 * @date 2016年3月8日 下午5:57:56 12 * 13 */ 14 public class MainClass { 15 16 public static void main(String[] args) { 17 String m_sentence="@my@red@apple"; 18 List<String> m_list=cutstring(m_sentence); 19 System.out.println(m_list.size()); 20 for(String tmp:m_list){ 21 System.out.println(tmp); 22 } 23 24 } 25 26 static List<String> cutstring(String Stence) 27 { 28 List<String> stringlist=new ArrayList<String>();//用來存儲解析出來的元素 29 for(int i=0;i<Stence.length();i++) 30 { 31 if(Stence.charAt(i)=='@') 32 { 33 String temp="";//存儲單詞 34 int wordlength=i; 35 while(wordlength<Stence.length()-1&&Stence.charAt(++wordlength)!='@') 36 { 37 temp+=Stence.charAt(wordlength); 38 //System.out.println(temp); 39 } 40 stringlist.add(temp); 41 } 42 } 43 return stringlist; 44 } 45 }