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

时间:2022-10-21 21:00:15
		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)('海'));