[equals和hasNext的java用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[equals和hasNext的java用法相关的知识,希望对你有一定的参考价值。

为什么此代码不停止? “ scanner.equals(null)”和“ scanner.hasNext()== false”不是同一角色还是至少是同一角色?

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int i = 1;
        while(true) {
            if(scanner.equals(null))
                break;
            else {
                String line = scanner.nextLine();
                System.out.println(i + " " + line);
                i++;
            }
        }
    }
}
答案

scanner.equals(null)将始终返回false。它检查对象实例是否为空,否则为空。相比之下,scanner.next()检查扫描程序是否可以找到令牌。

无论如何,您正在使用nextLine方法,因此您应该使用hasNextLine,而不是hasNext

    while(scanner.hasNextLine()) {
        String line = scanner.nextLine();
        System.out.println(i + " " + line);
        i++;
    }

以上是关于[equals和hasNext的java用法的主要内容,如果未能解决你的问题,请参考以下文章

java equals用法

Java学习笔记之二十九Java中的"equals"和"=="的用法及区别

equals 的用法

java中equals与==的用法比较

java中hashcode和equals这两个方法的用法?

java中equals以及==的用法(简单介绍)