日期:2014-05-20  浏览次数:20654 次

instance新手问题
code=Java]class Person
{
private String name;
public Person(String name)
{
this.name = name;
}
public boolean equals(Object obj)
{
if(this==obj) return true;
if(!obj instanceof Person) return false;//这句话提示错误
final Person other = (Person)obj;
if(this.name.equals(other.name))
return true;
else 
return false;
}
}
public class TestPerson
{
public static void main(String args[])
{
Person p1 = new Person("kk");
Person p2 = new Person("kk");
System.out.println(p1==p2);
System.out.println(p1.equals(p2));
}
}[[/code]
提示说运算符!不能应用在java。lang。object类中

------解决方案--------------------
if(!obj instanceof Person) return false;//这句话提示错误 

加个括号

if ( !(obj instanceof Person) ) return false;
------解决方案--------------------
2#说的没错 就是因为!的优先级比instanceOf高 所以会出错的 加个括号就没问题了 去接贴吧 哈哈哈
------解决方案--------------------
在Java中的代码中“!”是不能独立的!它在代码中是“非”的意思。在if语句中的条件语句是个Boolean类型,所以不是不能使用,而是你运用错了。
同意1楼的
------解决方案--------------------
探讨
在Java中的代码中“!”是不能独立的!它在代码中是“非”的意思。在if语句中的条件语句是个Boolean类型,所以不是不能使用,而是你运用错了。
同意1楼的