hasNext 和 hasNextLine 的区别
时间: 2024-06-14 13:07:39 浏览: 54
hasNext()和hasNextLine()是Scanner类中的两个方法,用于判断输入流中是否还有下一个元素或下一行。
hasNext()方法用于判断输入流中是否还有下一个元素。如果有非空字符,则返回true;否则返回false。
hasNextLine()方法用于判断输入流中是否还有下一行。如果有非空行,则返回true;否则返回false。
它们的区别在于判断的单位不同,hasNext()是以元素为单位进行判断,而hasNextLine()是以行为单位进行判断。
范例:假设输入流中有以下内容:
```
Hello World
123
```
使用hasNext()方法判断:
```java
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.hasNext()); // 输出:true
System.out.println(scanner.hasNext()); // 输出:true
System.out.println(scanner.hasNext()); // 输出:true
```
使用hasNextLine()方法判断:
```java
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.hasNextLine()); // 输出:true
System.out.println(scanner.hasNextLine()); // 输出:true
System.out.println(scanner.hasNextLine()); // 输出:true
```