我的吐司不工作,很奇怪

Ada*_*m91 -4 android toast

我的代码:

int LastSet = 2;

        if(LastSet == '2'){
            Toast.makeText(PrintName.this, "Jack Johnson", Toast.LENGTH_LONG).show();
        }
Run Code Online (Sandbox Code Playgroud)

我想我使用了正确的语法和逻辑?没有出现..

Ada*_*cin 6

您没有在问题中指定哪个平台和编程语言(多个平台支持Toast通知),因此我将假设Android上的Java.查看已发布代码的前两行:

int LastSet = 2;

if (LastSet == '2') {
    // Do something
}
Run Code Online (Sandbox Code Playgroud)

你设置LastSet为2,这是一个int,然后你将它与字符'2'进行比较,这是一个完全不同的野兽.在Java中,您可以将int这样的字符视为多种用途(包括与int的比较),但不要指望Java将2和'2视为同一个东西,因为它们不是.数字2与用于表示数字2的字符不同.

  • 只是把它比作2而不是'2'......请尽量保持尊重 (3认同)
  • @ Adam91不,解决方法是不检查字符串"2",因为那是*第三件事*,不同于数字2或字符"2".相反,检查`LastSet`实际上是否等于数字2.很少有理由将int与char进行比较(这不是这种情况).另外,你不能写`LastSet ="2"`因为生成的程序不会进行类型检查.或者甚至更好,只需完全取出if - 在您要编写的代码中,条件将始终为真. (3认同)