数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制

Posted 奋斗的少年WH

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制相关的知识,希望对你有一定的参考价值。

		int[] arr4={1,2,3,4,5};
		System.out.println("arr4:  "+arr4); 
		System.out.println("arr4.hashCode:  "+arr4.hashCode());
		//将hashCode值转化为16进制的两种方式
		System.out.println(Integer.toString(366712642,16));//将整数转化为16进制的数为:15db9742
		System.out.println(Integer.toHexString(366712642));//将整数转化为16进制的数为:15db9742
		/**
		 * 运行结果:
		 * 	arr4:  [[email protected]
		 *     arr4.hashCode:  366712642
		 *     15db9742
		 *  
		 *    [[email protected] ,这个就是数组的引用值;其中,[ 表示为数组,I 表示存放类型,1db9742哈希值表示在内存中的存放的十六进制地址。
		 */
		
		//汉字字符串形式的比较
		String str1="上";
		String str2="海";
		int c1i=(int)(‘上‘);
		int c2i=(int)(‘海‘);
		System.out.println("(int)(‘上‘):  "+c1i);
		System.out.println("(int)(‘海‘):  "+c2i);
		System.out.println(c1i-c2i);
		System.out.println(str1.compareTo(str2));
		
		//汉字转化为16进制的表示方法
		System.out.println("汉字转化为16进制方式一:  "+Integer.toHexString(‘海‘));
		System.out.println("汉字转化为16进制方式二:  "+Integer.toString((int)(‘海‘),16));
		System.out.println("汉字转化为10进制方式一:  "+(int)(‘海‘));

  

以上是关于数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制的主要内容,如果未能解决你的问题,请参考以下文章

java中“==”和equals()以及hashCode()的理解

java中“==”和equals()以及hashCode()的理解

==和equals以及hashcode

equals和HashCode深入理解以及Hash算法原理

集合之equals与hashCode方法对比

内存地址和Java HashCode [duplicate]有什么区别