java中hashcode()函数的理解
来源:互联网 发布:拍a发b淘宝会被降权吗 编辑:程序博客网 时间:2024/04/30 11:22
前提:Java的数据类型分为 基本数据类型和引用类型
1、hashCode();此函数的返回值是整形,其含义是此对象的地址。所以只要地址不同返回值不同。
String s1=“jzy";
int m1=s1.hashCode();
2、java中的所有对象都有这个方法(包括String)。
3、不同的对象其hashCode();不同
class father{
}
main(){
father f1=new father();
father f2=new father();
f1.hashCode() !=f2.hashCode();
}
4、现在说一个重点:根据前面的想法,好像是对于引用类型的数据只要其引用不同则其hashCode()也不同。这句话对除了String类型外的其他引用类型都适用。
String类型,只要类型的值相同,则其hashCode();值相同。
String s2=“jzy”;
int m2=s2.hashCode();
则m1==m2;
String s3=new String(“jzy”);
m3=s3.hashCode();
则m3==m1;
不过s3!=s1(此处请参考博客:Java中String类型笔试题目,对象声明与创建及在内存中的存贮)
public class test{public static void main(String args[]){String s1="jzy";String s2="jzy";String s3=new String("jzy");int m1=s1.hashCode();int m2=s2.hashCode();int m3=s3.hashCode();System.out.println(m1==m2);System.out.println(m1==m3);Father f1=new Father();Father f2=new Father();System.out.println(f1.hashCode());System.out.println(f2.hashCode());}}class Father{}运行结果:
true
true
625117197
854728855
说明对于String类型的对象,只要其字符串的值相同则其hashCode();相同;对于其他引用类型则要看他们的引用值是否相等。
0 0
- java中hashcode()函数的理解
- java 中hashcode的理解
- Java中hashcode的理解
- Java中hashcode的理解
- Java中hashcode的理解
- Java中hashcode的理解
- 对java中equals和hashCode函数的一些理解
- 对java中equals和hashCode函数的一些理解
- 对java中equals和hashCode函数的一些理解
- 对java中equals和hashCode函数的一些理解
- 理解Java中hashCode的作用
- java中hashCode函数的作用
- java中hashcode()函数的作用
- java中hashcode()函数的作用
- Java的hashCode()函数
- java中equal方法和hashCode的理解
- Java中==、equals()、hashcode()三者的理解
- 理解java中==、equals()、hashCode()
- mysql数据库操作
- R语言中PCA方法实现
- 针对4.4作为默认信息应用,需要做这些
- state_hovered error: No resource identifier found for attribute 'state_hovered' in package 'android
- mysql日志文件
- java中hashcode()函数的理解
- ExtJS3的Store获取页索引递增值!
- cpu 倍频和电压都不稳定是什么原因造成?
- 第9周项目我的小九九
- atomic 和noatomic
- 作为一个屌丝程序员不得不收藏的工具类 一 邮件验证类
- ORA-01003: no statement parsed
- Flume NG 简介及配置实战
- Struts2的OGNL标签详解