`
xiemingmei
  • 浏览: 207815 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

StringTokenizer的替代者String.split

阅读更多
建议:
(1)如果要用正则表达式作为分隔符来拆分字符串,则必须使用String.split(String regExp)来处理;

(2)如果用普通的字符或字串来拆分字符串,则可以选择使用StringTokenizer来处理,但使用String.split(String)将更好。


 /** 
 *  <tt>StringTokenizer</tt> is a legacy class that is retained for
 * compatibility reasons although its use is discouraged in new code. It is
 * recommended that anyone seeking this functionality use the <tt>split</tt>
 * method of <tt>String</tt> or the java.util.regex package instead.
*
*/

翻译后:
StringTokenizer是一个历史遗留的类,尽管不鼓励在新代码中使用,但因为兼容性的原因还是被保留下来了。推荐大家在String类的split方法或java.util.regex包中寻找这个功能来替代。




因为String.split(String regExp)的实质是Pattern.compile(regex).split(this, limit),而Pattern.compile(regex)花费的代价是很大的。如果多次要调用同一个Pattern对象,则可以先预编译好Pattern,然后反复使用该Pattern对象。比如:
for (String v: strList) {
   v.split("a*b");
}

可以改为:
Pattern p = Pattern.compile("a*b");
for (String v:strList) {
   p.split(v,0)'
}

这样就可以避免在循环中多次编译构建pattern对象。






分享到:
评论

相关推荐

    StringTokenizer的使用

    (public StringTokenizer(String str, String delim) returnDelims默认false; StringTokenizer(String str)默认分隔符delim是 " \t\n\r\f",returnDelims是false) 遍历的api中注意,hasMoreElements()...

    java实验4.2(StringTokenizer1.java)

    Write a program called StringTokenizer1.java that accepts a string, looks for commas within the string, and breaks the string up into the parts separated by the comma. For example, the string ...

    Thinking in Java 4th Edition

    String operator + and += .............................. 80 Common pitfalls when using operators ........... 81 Casting operators .................. 81 Truncation and rounding ........... 82 Promotion ...

    c#模拟实现java StringTokenizer

    看过c#的split regex等,还是有时候会需要像java StringTokenizer 一样的功能,所以转载一个

    收集几个常用的JAVA J2ME类库.rar

    StringTokenizer.java:StringTokenizer类;  3. SimpleCache.java:Cache类;  4. MD5Digest.java:J2ME MD5算法类;  5. Blowfish.java:J2ME的Blowfish加密类;  平时若要用到这些文件,直接引入相关...

    StringTokenizer2---马克-to-win java视频

    StringTokenizer 马克-to-win java视频 字符串解析器

    StringTokenizer的用法

    StringTokenizer的用法

    java文档String和StringTokenizer---马克-to-win java视频

    java文档String和StringTokenizer 马克-to-win java视频 字符串解析器

    StringTokenizer(delphi版)

    用delphi实现java的StringTokenizer类的功能。在原来曾青松版本的基础上修复bug完成的。

    java stringtokenizer

    StringTokenizer tool class

    用折半查找法实现排序问题

    StringTokenizer tokenizer = new StringTokenizer(number, ","); Array = new double[tokenizer.countTokens()];//字符串的解析,计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数/ while ...

    5个常用的J2ME类库

    5个适合初学者学习而且很有用的J2ME类库。... StringTokenizer类;  3. Cache类;  4. 基于J2ME的MD5算法类;  5. J2ME的Blowfish加密类;  这些代码都不很复杂,初学者应该很容易就看懂了。

    jsp探针 ver0.1

    String[] results = freeSpace.split(" "); for (int i = 1; i &lt; results.length; i++) { try { space = Long.parseLong(results[i]); return space; } catch (NumberFormatException ex) { continue; } } return ...

    android开发的计算器

    protected Double Calculate(String str) { List&lt;String&gt; symbol = getsymbol(str); List&lt;Double&gt; num = getnum(str); if(num.size()==symbol.size()) num.add(0.0); if (symbol != null) { for (int...

    String字符串截取的四种方式总结

    import java.util.StringTokenizer; import java.util.regex.Pattern; import org.junit.Test; public class TestStringToken { @Test public void subSting() { String str = "java,javac,javae"; String s1 = ...

    Java学生成绩管理系统源代码

    import java.io.StringReader; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util....

    Java程序设计语言考试试题

    C.StringTokenizer D.stringTokenizer 5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是( ) A.JFrame(s) B.window(s) C.new JFrame(s) D.super(s) 6.以下关于菜单的叙述中,正确的是...

    java在cpu的占有率

    String cmd = Bytes.substring(line, cmdidx, kmtidx - 1).trim(); if (cmd.indexOf("wmic.exe") &gt;= 0) { continue; } // log.info("line="+line); if (!caption.equals("javaw.exe")) { ...

    J2ME入门教程.10(j2me与Servlet相互通讯)编写和配置Servlet服务端

    StringTokenizer token = new StringTokenizer(record_String ); Vector vector1 = new Vector(); while( token.hasMoreTokens() ) { vector1.addElement( token.nextToken() ); } ByteArrayOutputStream ...

    Java 实例 - 字符串分隔(StringTokenizer)源代码-详细教程.zip

    Java 实例 - 字符串分隔(StringTokenizer)源代码-详细教程.zip

Global site tag (gtag.js) - Google Analytics