Java中的StringTokenizer替换

Java中的StringTokenizer替换,java,parsing,recursion,java-stream,recursive-descent,Java,Parsing,Recursion,Java Stream,Recursive Descent,我正在尝试编写一个递归下降解析器。我需要一个将字符串转换为流的方法,这样我就可以使用next方法。我读到的每一篇文章都说,StreamTokenizer已经过时,没有必要了,但我找不到任何替代品。 .split()可以使用,但它并没有提供我感兴趣的功能-在数组上循环并输入递归将非常复杂,我必须不断分割和修剪数组。所以我的问题是,推荐的替代方案是什么? 谢谢 目前,我的解决方案是: LinkedList队列=新建LinkedList(Arrays.asList(rule.split(“”))//拆

我正在尝试编写一个递归下降解析器。我需要一个将字符串转换为流的方法,这样我就可以使用
next
方法。我读到的每一篇文章都说,
StreamTokenizer
已经过时,没有必要了,但我找不到任何替代品。
.split()
可以使用,但它并没有提供我感兴趣的功能-在数组上循环并输入递归将非常复杂,我必须不断分割和修剪数组。所以我的问题是,推荐的替代方案是什么? 谢谢 目前,我的解决方案是:
LinkedList队列=新建LinkedList(Arrays.asList(rule.split(“”))//拆分为空格并给我q

其中,
规则
是一个字符串。

如果你的语法不是很简单,你应该为这项工作准备真正的工具 像flex和yacc:


您在哪里看到StreamTokenizer被弃用?