一尘不染

Java为什么不建议使用StringTokenizer?

java

Java文档似乎并未提及有关的弃用的任何内容StringTokenizer,但我一直很早就听说过它的弃用情况。是因为它具有错误/错误而被弃用,还是String.split()整体上更好使用?

我有一些使用的代码,StringTokenizer我想知道我是否应该认真考虑将其重构为使用String.split(),还是弃用纯粹是为了方便而我的代码是安全的。


阅读 547

收藏
2020-03-06

共1个答案

一尘不染

从javadoc中获取StringTokenizer:

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

如果你String.split()将其与进行比较StringTokenizer,则相关的区别是String.split()使用正则表达式,而StringTokenizer仅使用逐字分割字符。因此,如果我想用比单个字符更复杂的逻辑来标记字符串(例如,分割开\r\n),则不能使用,StringTokenizer但可以使用String.split()

2020-03-06