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

时间:2021-06-03 16:48:22
		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:  [I@15db9742
		 *     arr4.hashCode:  366712642
		 *     15db9742
		 *  
		 *    [I@1db9742 ,这个就是数组的引用值;其中,[ 表示为数组,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)('海'));