java字符和字符串比较问题

用equals比较字符串如果字符串是数字或者英文单词的话,就能够成功,但是我一换成中文就不成功了

img


之前比较字符的时候也是一样,一比较中文就不行了

img

可能是终端编码格式的问题
你先打印一下看

img


这里的name是你输入的汉字吗?


public class Equal {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        String name = input.next();
        String question = new String(name.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
        String answer = new String("数学".getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
        if(question.equals(answer)){
            System.out.println(true);
        }else{
            System.out.println(false);
        }
    }
}

使用Scanner.nextLine()试试

编码或者/n的问题,按这两个思路排查吧,最好是把输入打印出来进行确认

很明显,编码问题,你把name打印出来就知道了