StringTokenizer
来源:互联网 发布:利润差额简算法 编辑:程序博客网 时间:2024/05/17 22:35
StringTokenizer
构造函数:
StringTokenizer(String str)
tokenizer 使用默认的分隔符集
" \t\n\r\f"
,即:空白字符、制表符、换行符、回车符和换页符。分隔符字符本身不作为标记。 StringTokenizer(String str, String delim)
StringTokenizer(String str, String delim, boolean returnDelims)
delim
参数中的字符都是分隔标记的分隔符,returnDelims
标志为 true
,则分隔符字符也作为标记返回。 作用与String的split类似,但是要比split高效,并且在以'|'为分隔符分隔字符串时,StringTokenizer不需要转义字符'|'。
StringTokenizer与split比较:
package com.imageutils;
import java.util.StringTokenizer;public class Test {public static void main(String[] args) {String str = "as|d|f,d|s,f|w|e|g|f|w|e|v|b|b|r|q|e|t|q|e|r|g|a|f|d|b|dn|t|j|rtj,tnyli|op[ry|ujd|n|h|s|rta|ere|fdv|tar|eg|a";splitTest(str);stringTokenizerTest(str);}private static void splitTest(String str) {long time = System.nanoTime();String[] s = str.split("\\|");System.out.println(s.length);System.out.println(System.nanoTime() - time);}private static void stringTokenizerTest(String str) {long time = System.nanoTime();StringTokenizer st = new StringTokenizer(str, ",|", true);System.out.println(st.countTokens());System.out.println(System.nanoTime() - time);}}结果:40
174651185304710
StringTokenizer(str, ",|", true)中",|",','和'|'都会作为单个的分隔符来使用。而且,从以上打印出的结果可以明显看出,分隔同一个字符串,split用时1746511,而StringTokenizer用时304710(nanoTime()以纳秒为单位计时,一般用于性能测试,不能像currenttimemillis()那样转化日期)。
只是在API文档中最后说到,StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。没有找到不鼓励使用的原因。
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- StringTokenizer
- 深入浅出Android makefile(3)--LOCAL_SRC_FILES
- 实用技巧:六招教你去掉图片上的文字
- Android严苛模式介绍(StrictMode)
- 学习PHP的可用关注下phalcon
- 谈谈我对Java中CallBack的理解
- StringTokenizer
- OpenContrail架构文档
- hibernate异常"Found shared references to a collection 解决方法
- 定位和思考
- Cruise cotnrol for Tofino UI automation
- FTP服务器需要开几个端口
- LeetCode:Integer to Roman
- 转一篇有关JAVA的内存泄露的文章
- JAVA中string.replace()和string.replaceAll()的区别及用法