Java:如何将字符串与toString()的返回值进行比较

Java:如何将字符串与toString()的返回值进行比较,java,string,class,Java,String,Class,基本上,当我尝试使用.equals将类与字符串进行比较时,它总是返回false 例如: myClass.java public String toString() { return "Apple"; } main.java System.out.println(myClass.equals("Apple")); 将打印“false” 我应该使用什么将myClass与字符串进行比较?您应该调用toString,而不是直接调用class myClass mc= new myClass()

基本上,当我尝试使用.equals将类与字符串进行比较时,它总是返回false

例如:

myClass.java

public String toString()
{
    return "Apple";
}
main.java

System.out.println(myClass.equals("Apple"));
将打印“false”


我应该使用什么将myClass与字符串进行比较?

您应该调用toString,而不是直接调用class

myClass mc= new myClass();
if(mc.toString().equals("Apple"){

}

顺便说一句,Java类名以大写字母开头。例如,您应该调用toString,而不是直接调用class

myClass mc= new myClass();
if(mc.toString().equals("Apple"){

}

顺便说一句,Java类名以大写字母开头。例如,您需要覆盖对象类的定义:

@Override
public String toString() {
  return "Apple";
}
然后比较

System.out.println(myClass.toString().equals("Apple"));

其中
myClass
应为
myClass
的一个实例,使用。

您需要覆盖对象类的定义:

@Override
public String toString() {
  return "Apple";
}
然后比较

System.out.println(myClass.toString().equals("Apple"));

其中,
myClass
应该是使用的
myClass
的一个实例。

我认为toString将被自动调用的假设是错误的

对于任何想知道:

System.out.println(myClass.toString().equals("Apple"));

我认为toString将被自动调用的假设是错误的

对于任何想知道:

System.out.println(myClass.toString().equals("Apple"));

这样试试。。。对我来说很好

 @Override
    public String toString() {
       return "Address: " + address+ ", streetName=" + stName ;
    }

这样试试。。。对我来说很好

 @Override
    public String toString() {
       return "Address: " + address+ ", streetName=" + stName ;
    }

实际上,您可以实现equals-

public boolean equals(Object object) {
    if(object instanceof String) {
        return ((String)object).equals(mName);
    }
    return false;
}

mName是包含其名称的类的成员。

您实际上可以实现equals-

public boolean equals(Object object) {
    if(object instanceof String) {
        return ((String)object).equals(mName);
    }
    return false;
}

mName是包含其名称的类的成员。

myClass.toString().equals(“Apple”)
。您想比较什么?班名还是什么?请举例说明,哪种情况为真,哪种情况为假。覆盖方法
toString()
equals()
然后使用equal()进行比较
myClass.toString().equals(“Apple”)
。您到底想比较什么?班名还是什么?请举例说明,哪种情况为真,哪种情况为假。覆盖方法
toString()
equals()
然后使用equal()进行比较我的实际类确实以大写开头,这只是一个仓促键入的示例(抱歉)。这很有效,谢谢!你知道为什么我需要这样做,但是如果我打印类,它会打印“Apple”?当你打印时,它会自动调用.toString(),但不会在其他地方调用。我实际的类是以大写开头的,这只是一个仓促键入的示例(抱歉)。这很有效,谢谢!你知道我为什么需要这样做吗,但是如果我打印类,它会打印“Apple”?当你打印时,它会自动调用.toString(),但在其他地方不会。