Java 条件语句

标签 java

Possible Duplicate:
Java String.equals versus ==

我正在使用jcreator来练习java语言。我想出了一个条件语句,其中如果用户输入 =“test”,它将打印“okay!”信息。这是我的代码:

class conditional {

    public static void main (String[] args) {

        Scanner user_input = new Scanner(System.in);

        String username;
        System.out.print("username: ");
        username = user_input.next();
            if (username == "test") {
                System.out.println("okay");
                    }
                    else {
                                    System.out.println("not okay");
    }
}

上面的代码没有显示任何错误,也没有显示“好的”&&“不好”的消息。我不确定我的逻辑有什么问题。

最佳答案

字符串应该使用.equals而不是==进行比较。所有非原始比较都是这种情况。例如,您可以将两个 int 字段与 == 进行比较,但由于字符串不是原始类型,因此 .equals 是正确的选择。

if (username.equals("test")) {

关于Java 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12275251/

相关文章:

java - 创建不同的 PendingIntent 对象 - 请求代码与不同的 Intent

java - JTree 禁用/覆盖 TransferHandler 键盘操作

java - 在 Spring Boot 2 中使用实体管理器时,没有类型 'javax.persistence.EntityManager' 的合格 bean

java - 如何返回 Pane ?

java - HashMap 与 ConcurrentHashMap : transfer between threads

java - 使用 TextureView 缩放 Camera2 预览

java - ArrayList 的速度是数组的两倍多吗?

Java,在正则表达式中转义(使用)引号

java - Android OkHttp 库 : GET Request - Exception EOFException:\n not found: size=0 content=

Java Future - Spring Authentication 在 AuditorAware 中为空