使用 StringTokenizer 和 String.split( ) 之间的区别?

2022-09-02 21:00:56

我一直在使用class来拆分某些给定分隔符的任何字符串,并且它工作正常。String[] split(String)String

但是,现在预计它将使用 重构相同的逻辑。但是,使用一个与另一个相比有什么区别和好处。StringTokenizer

另外,我觉得在单个调用中返回 by 比使用类的对象要有效得多。String[]split()StringTokenizer


答案 1

看看 JavaDocs

StringTokenizer 是一个旧类,出于兼容性原因而保留,尽管不鼓励在新代码中使用它。建议任何寻求此功能的人改用 String 的 split 方法或 java.util.regex 包。

下面的示例演示如何使用 String.split 方法将字符串分解为其基本标记:

 String[] result = "this is a test".split("\\s");
 for (int x=0; x<result.length; x++)
     System.out.println(result[x]);

答案 2

String#split接受正则表达式是否只接受一个 by 将拆分字符串。你应该始终坚持,它比StringTokenizer更健壮。StringTokenizerStringString#split