System.out.println("使用StringTokenizer的切分字符串"); long st3 = System.nanoTime(); StringTokenizer token=new StringTokenizer(orginStr,"."); System.out.println("StringTokenizer截取字符串用时:"+(System.nanoTime()-st3)); System.out.println("StringTokenizer截取字符串结果个数:" + token.countTok...
packagetest.java.lang.ref;importjava.util.Random;importjava.util.StringTokenizer;/*** String测试类 *@authorxiaori.Liu **/publicclassStringTest {publicstaticvoidmain(String args[]){ String orginStr= getOriginStr(10);///String.splic()表现///System.out.println("使用String.splic()的切分字符串"...
涉及到split()和StringTokenizer两种方法,所以对二者的性能进行了一下比较。 选取了一个1.58M大小的CSV文件,其中有4420行的数据,做的处理是分别用两种方法读取文件,并逐行进行分割,然后再将每行的内容输出。分别测试两种方法的耗时。 对每种方法都执行了五遍,取其耗时的平均值进行比较,共做了两次比较,第一次split(...
StringTokenizer 是出于兼容性原因而保留的旧类,尽管不建议在新代码中使用。 建议寻求此功能的任何人都可以改用 split java.util.regex 包的方法 String 或java.util.regex 包。 以下示例演示如何 String.split 使用该方法将字符串分解为其基本标记: <blockquote>text...
StringTokenizer有两个常用的方法: 1.hasMoreElements()。这个方法和hasMoreTokens()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口而实现的方法,从StringTokenizer的声明可以看到:class StringTokenizer implements Enumeration<Object>。 2.nextElement()。这个方法和nextToken()方法的用法是一样的,返回此 St...
substring则比split要平稳一点点,但是也在增长。 StringTokenizer则是表现最优秀的,基本上平稳,始终保持在5000ns一下。 结论 最终,StringTokenizer在截取字符串中效率最高,不论数据量大小,几乎持平。substring则要次之,数据量增加耗时也要随之增加。split则是表现最差劲的。
StringTokenizer比String.split()更严格,而且使用起来也有点麻烦。它本质上是为提取由固定子字符串分隔的标记而设计的。由于此限制,它的速度大约是String.split()的两倍。 (参见我对String.split()和StringTokenizer的比较。)它也早于正则表达式 API,其中String.split()是其中的一部分。
以下两种方法中的哪一种是执行此操作的最佳方法(就性能而言)? StringTokenizer sTokenize = new StringTokenizer(s," "); while (sTokenize.hasMoreTokens()) { 要么 String[] splitS = s.split(" "); for(int i =0; i < splitS.length; i++)回首...
二者都可以用于分割字符串。但StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。JDK建议使用 String 的 split 方法或java.util.regex 包。而有实验表明StringTokenizer 性能更高些。
ava中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。 int countTokens():返回nextToken方法被调用的次数。boolean hasMoreTokens():返回是否还有分隔符。boolean hasMor