`

=号到底比较的是什么??

 
阅读更多
先看个程序
package com.test.one;

public class one {

	private String name;
	private int id;
	@Override
	public int hashCode()
	{
		System.out.println("#");
		return 1;
	}//重写hashcode/.....
	public boolean equals(one o)
	{
		if(o.name.equals(name)&&o.id==id)
		{
			return true;
		}
		return true;
	}
	public static void main(String[]args){
		one o1=new one();
		one o2=new one();
		o1.id=1;
		o2.id=2;
		o1.name="o1";
		o2.name="o2";
		System.out.println(o1==o2);
		System.out.println(o1.toString());
		System.out.println(o1.equals(o2));
	}
}

打印
false
#
com.test.one.one@1
true

很多人有自己对 对象直接关于 ==比较的看法
但我在这说自己发现的一些东西
这里的两个对象 但他的方法 equals是永远返回true的
但hashcode也是返回一样的数  也就是说这是hashcode也是相等的
但他们比较后(==)却不相等....
说明==和 hashcode和equals没有关系.....
他其实就是比较的在内存的地址 (String 在常量池中是相等的两个对象 还有-127-128范围内的Integer对象也是相等的)
和其余的都没关系
分享到:
评论

相关推荐

    计算机网络常见问题解答

    问题1-15:什么是“无缝的”、“透明的”和“虚拟的”? 问题1-16:在教材的1.7.2节提到协议有三个要素,即语法、语义和同步。语义是否已经包括了同步的意思? 问题1-17:为什么协议不能设计成100%可靠的? 问题1-18...

    最新Java面试宝典pdf版

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...

    JAVA面试宝典2010

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...

    Java面试宝典-经典

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...

    java面试题大全(2012版)

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...

    Java面试宝典2012版

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾...

    java面试宝典2012

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 56 75、描述一下JVM加载class文件的原理机制? 56 76、heap和stack有什么区别。 57 77、GC是什么? 为什么要有GC? 57 78、垃圾回收的...

    Java面试宝典2012新版

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...

    清华大学的计算机网络课件

    问题1-15:什么是“无缝的”、“透明的”和“虚拟的”? 问题1-16:在教材的1.5.2节提到协议有三个要素,即语法、语义和同步。语义是否已经包括了同步的意思? 问题1-17:为什么协议不能设计成100%可靠的? 问题1-18...

    浅谈java字符串比较到底应该用==还是equals

    浅谈java字符串比较到底应该用==还是equals Java 中的字符串比较是一个非常重要的主题,在实际项目中,正确地比较字符串是非常关键的。在 Java 中,有两种方式来比较字符串,一种是使用 "==" 运算符,另一种是使用 ...

    你必须知道的495个C语言问题

    **1.5 关键字auto到底有什么用途?** `auto`关键字在C语言中有两种用途: - 在函数内部声明局部变量,默认就是`auto`,因此通常可以省略。 - 在C99标准及以后版本中,`auto`可以用来声明变量时动态地推断其类型。 ...

    超级有影响力霸气的Java面试题大全文档

    从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 12、...

    java 面试题 总结

    从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 9、...

    正则表达式30分钟入门教程

    正则表达式到底是什么东西? 字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等等。字符串是0个或更多个字符的序列。文本也就是文字,字符串。说某个字符串匹配某个正则...

Global site tag (gtag.js) - Google Analytics