首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Stringtokenizer跟split

2012-09-06 
Stringtokenizer和split建议:Java代码?/**???*??ttStringTokenizer/tt?is?a?legacy?class?that?is?ret

Stringtokenizer和split

建议:Java代码

  1. ?/**??
  2. ?*??<tt>StringTokenizer</tt>?is?a?legacy?class?that?is?retained?for?
  3. ?*?compatibility?reasons?although?its?use?is?discouraged?in?new?code.?It?is?
  4. ?*?recommended?that?anyone?seeking?this?functionality?use?the?<tt>split</tt>?
  5. ?*?method?of?<tt>String</tt>?or?the?java.util.regex?package?instead.?
  6. *?
  7. */??
  8. ??
  9. 翻译后:??
  10. StringTokenizer是一个历史遗留的类,尽管不鼓励在新代码中使用,但因为兼容性的原因还是被保留下来了。推荐大家在String类的split方法或java.util.regex包中寻找这个功能来替代。??




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

  1. for?(String?v:?strList)?{??
  2. ???v.split("a*b");??
  3. }??


可以改为:Java代码

  1. Pattern?p?=?Pattern.compile("a*b");??
  2. for?(String?v:strList)?{??
  3. ???p.split(v,0);?
  4. }??


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

热点排行