Java Scanner hasNext() 方法

定义和用法

hasNext() 方法用于检查扫描器中是否还有另一个可用的标记(token)。

如果使用了 pattern 参数,那么只有当下一个标记与参数中指定的正则表达式匹配时,该方法才会返回 true

如需了解有关正则表达式的更多信息,请参阅我们的 Java 正则表达式教程

什么是标记(token)?

标记是由分隔符与其他标记分隔开的一串字符。默认的分隔符是一组空白字符,但可以使用 useDelimiter() 方法进行更改。

实例

使用 hasNext() 方法读取字符串中的每个标记:

// 创建一个扫描器对象
Scanner myObj = new Scanner("要扫描的字符串");

// 读取每个标记
while(myObj.hasNext()) {
  System.out.println(myObj.next());
}

// 注意:在实际应用中,请确保在不再需要扫描器时调用 myObj.close() 以关闭它。

语法

其中之一:

public boolean hasNext()
public boolean hasNext(Pattern pattern)
public boolean hasNext(String pattern)

参数

参数 描述
pattern 可选。指定下一个标记必须匹配的正则表达式,才能被视为有效。

技术细节

返回: boolean 值,如果还有可用的标记并且与 pattern 参数提供的正则表达式匹配,则为 true
抛出: IllegalStateException - 如果扫描器已被关闭。