Java:如何将字符串与toString()的返回进行比较
基本上,当我尝试使用.equals将类与字符串进行比较时,它始终返回false。Java:如何将字符串与toString()的返回进行比较
例如:
myClass.java
public String toString()
{
return "Apple";
}
main.java
System.out.println(myClass.equals("Apple"));
将打印 “假”。
我应该用什么来比较myClass和字符串?
你需要重写定义形成Object类:
@Override
public String toString() {
return "Apple";
}
,然后比较
System.out.println(myClass.toString().equals("Apple"));
其中myClass
应使用code conventions一个的MyClass
实例。
你应该调用toString,而不是直接class。
myClass mc= new myClass();
if(mc.toString().equals("Apple"){
}
顺便说一句,Java类名称以Capitals开头。例如。 MyClass
我的实际类确实以captial开头,这只是一个匆忙输入的示例(对不起)。 这个作品谢谢!你知道我为什么需要这样做,但是如果我打印课程,它会打印“Apple”? – Dasonic
打印时,它会自动调用.toString(),但不会在其他位置调用。 –
我认为toString会被自动调用的错误。
对于任何人想知道:
System.out.println(myClass.toString().equals("Apple"));
试试这个办法...对我的作品很好..
@Override
public String toString() {
return "Address: " + address+ ", streetName=" + stName ;
}
你实际上可以实现相当于 -
public boolean equals(Object object) {
if(object instanceof String) {
return ((String)object).equals(mName);
}
return false;
}
MNAME是包含其名称的类的成员。
'myClass.toString()。equals(“Apple”)'。 –
你想要比较什么?课堂名称或其他? 请用实例详细说明,哪种情况是真的,哪种情况是错误的。 – Nin
覆盖方法'toString()'和'equals()'然后使用equal()进行比较 –