代码如下,因为不会载入只好手敲打,不好意思哈,如果有格式有点小问题请见谅哦(新人,分也比较少的说......)控制台输出结果,两个对象的内存地址是一样的,但是两个对象之间"=="是false,希望有高手指点......
public class HashCodeTest{
public static void main(String[] args){
Student stu1=new Student("aa",12);
Student stu2=new Student("aa",12); //打印两个对象的内存地址
System.out.println(stu1);
System.out.println(stu2); //打印两个对象内存地址的比较
System.out.println(stu1==stu2);
}
}
class Student{
private String name;
private int age;
public Student(String name;int age){
this.name=name;
this.age=age;
}
public int hashCode(){
//这里随便写,只要是按属性生成的即可
return 7*name.hashCode()+13*age; }
}
public class HashCodeTest{
public static void main(String[] args){
Student stu1=new Student("aa",12);
Student stu2=new Student("aa",12); //打印两个对象的内存地址
System.out.println(stu1);
System.out.println(stu2); //打印两个对象内存地址的比较
System.out.println(stu1==stu2);
}
}
class Student{
private String name;
private int age;
public Student(String name;int age){
this.name=name;
this.age=age;
}
public int hashCode(){
//这里随便写,只要是按属性生成的即可
return 7*name.hashCode()+13*age; }
}
解决方案 »
- MessageFormat问题
- 类的初始化问题
- 求一正则表达式,高手帮忙看下(按时结贴)
- 春节快乐!关于jdk5.0的Type safety: The cast from Object to HashMap<String,Object> is actually
- 怎样用java实现解压.tar.Z文件
- 事件监听的小问题
- 关于NetBeans IDE的问题,请高手关注!!!
- MappedByteBuffer有奖问答!
- 谁有java2 图形设计(swing) 的代码?在线等待,收到给分!
- 怎样才能在IE5.0中打开JDK1.2写的JApplet?
- new?
- jdk1.4 ServerSocket用bind(SocketAddress endpoint)方法初始化,是否同时支持IPv4和IPv6的TCP连接?
比的是对象是不是一个对象!1
==是该对象的内存地址比较啊;
我觉得 他是根据内存来的!但那比较一定相等吗?
他可能还有别的因素 确定内存地址啊!也就是说 hashcode只是部分!!
其实Object.hashcode()的实现才和地址有关,但是被您override了:)
Syso打印出的是对象的包+hashCode,
对于没有覆盖hashCode的对象,打印出的是该对象的内存地址。