为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么反对StringTokenizer?

请问为什么反对StringTokenizer?

12345678_0001 2019-08-03 07:02:13
为什么反对StringTokenizer?Java文档似乎没有提到任何关于StringTokenizer然而,我却一直听说它在很久以前就被废弃了。是因为它有错误/错误,还是因为String.split()只是更好地使用整体?我有一些代码StringTokenizer我想知道我是否应该认真考虑重构它来使用String.split(),或者是否完全出于方便和我的代码是安全的问题。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

从javadoc到串托卡器:

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

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




查看完整回答
反对 回复 2019-08-04
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

StringTokenize有个问题.。

拆分必须使用regex,StringTokenizer使用字符串或CharSequence,

"a.b..".split(".")会回来{"a","b",""}

以及“A.B.”中的StringTokenzer.。将只返回{“a”、“b”}

这很棘手!小心点!

StringTokenizer的更好和更安全的替代方案是:

好多了StrongTokenizerorg.apache.common.lang3..它具有更大的灵活性或

com.google.common.base.Splitter




查看完整回答
反对 回复 2019-08-04
  • 3 回答
  • 0 关注
  • 324 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号