站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题[新手问题] 关于equals方法

[新手问题] 关于equals方法

摘要: [新手问题] 关于equals方法


在学习equals方法方法时我写了一段代码(如下)

class Student
{
private String name;
private int age;
public Student(String name,int age)
{
this.name=name;
this.age=age;
}
public boolean equlas(Object obj)
{
Student st=null;
if(obj instanceof Student)
{
st=(Student)obj;
if(st.name==name && st.age==age)
{
return true;
}
else
return false;
}
else
{
return false;
}
}
}

class Xxs extends Student
{
public Xxs(String name,int age)
{
super(name,age);
}
}

class Test
{
public static void main(String[] args)
{
Student st1=new Student("linan",20);
Student st2=new Student("caiheng",20);
Student st3=new Student("linan",20);
Xxs st4=new Xxs("linan",20);
if(st1.equals(st2))
{
System.out.println("st1 equlas st2");
}
else
{
System.out.println("st1 not equlas st2");
}
if(st1.equals(st3))
{
System.out.println("st1 equlas st3");
}
else
{
System.out.println("st1 not equlas st3");
}
if(st1.equals(st4))
{
System.out.println("st1 equlas st4");
}
else
{
System.out.println("st1 not equlas st4");
}
}
}

可是编译通过后执行却都是

st1 not equlas st2

st1 not equlas st3

st1 not equlas st4

按我当时的目的是st1 equlas st3的,equlas方法我也是重写的,请高手指点一下为什么会是st1 not equlas st3,如何使得st1 equlas st3?我的JDK是1.5

谢谢




public boolean equlas(Object obj)
if(st1.equals(st3))
你看下两个equal!!


method name is error! equals is correct!


我的天,谢谢了,真TM的


↑返回目录
前一篇: 求教一道简单的编程题
后一篇: 简单的问题,望大家帮忙