Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果这句话不是真的,但它应该是真的_Java_Android - Fatal编程技术网

Java 如果这句话不是真的,但它应该是真的

Java 如果这句话不是真的,但它应该是真的,java,android,Java,Android,可能重复: 我不明白为什么sendMessage中的第一个(其他的也一样)if永远不会成为真的。receiver字符串应该是真的 当我运行此命令并按“发送给Alice”时,我得到3个吐司: 发送给Alice(=接收器的值) [空白吐司](=phoneNumber的值) 你必须选择一条消息(=别提这个!) 不要使用==来比较Java中的字符串。使用equals方法 if (reciever.equals("Send to Alice"))... =操作符比较引用是否相等,而不是那些引用指向的

可能重复:

我不明白为什么sendMessage中的第一个(其他的也一样)
if
永远不会成为真的。receiver字符串应该是真的

当我运行此命令并按“发送给Alice”时,我得到3个吐司:

  • 发送给Alice(=接收器的值)
  • [空白吐司](=phoneNumber的值)
  • 你必须选择一条消息(=别提这个!)


  • 不要使用
    ==
    来比较Java中的字符串。使用equals方法

    if (reciever.equals("Send to Alice"))...
    
    =
    操作符比较引用是否相等,而不是那些引用指向的对象。

    试试这个

    发件人:

    致:

    如果要检查“发送给Alice”是否区分大小写,以及

    if (receiver.equalsIgnoreCase("Send to Alice"))
    
    如果要在不区分大小写的情况下检查“发送给Alice”,以及

    if (receiver.equalsIgnoreCase("Send to Alice"))
    

    因为
    =
    将只检查整数(类似)和字符串
    。应该使用equals
    ,因为您使用
    =
    比较字符串,这将返回
    false
    。改用
    等于
    if (receiver.equals("Send to Alice"))
    
    if (receiver.equals("Send to Alice"))
    
    if (receiver.equalsIgnoreCase("Send to Alice"))