2012-04-12 95 views
4

我正在创建一个应用程序,该应用程序应该使用get方法从mySql数据库中读取文本。在J2ME中分割文本

一旦它从数据库中获取数据元素作为字符串,它应该分割字符串并使用字符串创建一个列表,但split()方法在这里似乎不起作用。

J2ME说cannot find method split() - 我该怎么办?

我的代码如下:

/* assuming the string (String dataString) has already 
been read from the database and equals one,two three 
i.e String dataString = "one,two,three"; */ 

String dataArray[]; 
String delimiter = ","; 
dataArray = dataString.split(delimiter); 

//continue and create a list from the array. 

我已经试过这在台式机和控制台应用程序,似乎完美地工作,但代码不会在J2ME应用程序运行。有没有我应该使用的方法?我能做什么?

+3

看到这个重复的问题:我如何在J2ME分割字符串(http://stackoverflow.com/questions/200746/how-do-i -split串功能于J2ME)。 – 2012-04-12 08:40:12

+0

谢谢你。很感谢 – sammyukavi 2012-04-12 08:55:25

回答

11

这里是一个高速的实现:

public static String[] Split(String splitStr, String delimiter) { 
    StringBuffer token = new StringBuffer(); 
    Vector tokens = new Vector(); 
    // split 
    char[] chars = splitStr.toCharArray(); 
    for (int i=0; i < chars.length; i++) { 
     if (delimiter.indexOf(chars[i]) != -1) { 
      // we bumbed into a delimiter 
      if (token.length() > 0) { 
       tokens.addElement(token.toString()); 
       token.setLength(0); 
      } 
     } else { 
      token.append(chars[i]); 
     } 
    } 
    // don't forget the "tail"... 
    if (token.length() > 0) { 
     tokens.addElement(token.toString()); 
    } 
    // convert the vector into an array 
    String[] splitArray = new String[tokens.size()]; 
    for (int i=0; i < splitArray.length; i++) { 
     splitArray[i] = (String)tokens.elementAt(i); 
    } 
    return splitArray; 
} 
+0

谢谢....这个全职工作。 – sammyukavi 2012-04-18 03:11:47

+0

欢迎你的朋友。祝你好运。 – Mbt925 2012-04-18 07:10:15