您的位置:首页 > 编程语言 > Java开发

StringTokenizer类的使用

2016-06-08 16:51 330 查看
之前遇到到数字中有逗号处理为数字的代码

// java中价格的数字中间有逗号的处理
@Test
public void test1() {
java.util.StringTokenizer st = new StringTokenizer( "123,456,789", ",");
StringBuffer sb = new StringBuffer();
while(st.hasMoreTokens())   {
sb.append(st.nextToken());
}
System.out.println(sb);  //123456789
}
StringTokenizer是一个用来分隔String的应用类,相当split函数。

1.构造函数

 StringTokenizer 只有三个构造方法

    1).StringTokenizer(String str) :被分割对象str,分隔符采取默认分割,java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。默认的话,所有的分隔符都会同时起作用。

    2).StringTokenizer(String str, String delim) :分隔符不采用默认,提供一个指定的分隔符。

    3).StringTokenizer(String str, String delim, boolean returnDelims) :指定一个特定的分隔符,同时,指定是否返回分隔符。如果是true,分隔符将被作为一个token返回。

2.核心方法

   1).public boolean hasMoreTokens():判断当前还有没有可以遍历的元素.(boolean hasMoreElements()一般不用)

   2).public String nextToken():用来获得当前的元素token。(Object nextElement()一般不用)

   3).public String nextToken(String delim):返回当前索引开始,指定分隔符的下一个token。实际返回的是索引当前位置到下一个delim出现为止所有的字符

   4).public int countTokens():返回当前可以被访问的元素的个数

@Test
public void test() {
StringTokenizer test = new StringTokenizer("J-PHONE,Vodafone,SoftBank",",");

while(test.hasMoreTokens()){
System.out.println("count0-->"+test.countTokens());
System.out.println("carry-->"+test.nextToken());
System.out.println("count1-->"+test.countTokens() + "\n");
//           System.out.println("  " + test.nextToken("*"));
}
}

count0-->3

carry-->J-PHONE

count1-->2

count0-->2

carry-->Vodafone

count1-->1

count0-->1

carry-->SoftBank

count1-->0
    StringTokenizer比较不好的地方,就是她的索引无法返回,一旦nextToken 就不能返回了,像上面两种写法同时存在的话,只有第一个循环能有数据输出,第二个循环是不能进去的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  StringTokenizer java