2020-12-13getClass方法/hashCode方法/clone方法/Integer类

getClass方法

getClass方法返回当前对象的运行时类(Class)对象

Class empClass =emp0.getClass();
			//使用Class对象获取当前对象的类的完全限定名称
			System.out.println("类名称是: "+empClass.getName());

hashCode方法

hashCode方法返回该对象的int类型哈希码值
public native int hashCode();
此方法为提高哈希表的性能而支持,通常在非特殊情况下不必重写此方法

Users u0 = new Users("NO999","东方不败",35);
		Users u2 = u0;
		System.out.println(u0.equals(u2));
		System.out.println(u0.hashCode());
		System.out.println(u2.hashCode());
		System.out.println(new Users().hashCode());

clone方法

clone方法返回当前对象的一个副本
被克隆的对象和当前对象不具有同一个引用,但是具有完全相同的对象属性,欲克隆当前对象则当前对象所属类应实现Cloneable接口

Integer包装类

Interger类的作用

Integer类对基本类型int的进行包装,它包含一个int值
Integer类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int类型时非常有用的其他一些常量和方法
定义类成员属性经常使用Integer代替int从而可以应用更多Integer的功能

Integer对象的创建

public Integer(int value);
public Integer(String str);
str参数必须是若干数字组成的字符串

Employee emp = new Employee();
		Employee emp2 = new Employee();
		
		Integer intObj =new Integer(24);
		
		emp.setId(intObj);
		System.out.println(emp.getId());
		emp2.setId(new Integer("45"));
		System.out.println(emp2.getId());

Integer字段常量

//integer常量属性
		System.out.println(Integer.MAX_VALUE);//int类型能够表示的最大值
		System.out.println(Integer.MIN_VALUE);//int类型能够表示的最小值
		System.out.println(Integer.SIZE);//二进制补码形式表示int值得比特位数
		System.out.println(Integer.BYTES);//int类型在jvm中占有看见的字节数
		

comparaTo方法

如果当前Integer对象所包含的int值大于target包含的值则返回1,如果小于返回-1,如果相等则返回0

//比较大小的方法
		System.out.println(emp.getId().compareTo(emp2.getId()));
		System.out.println(emp2.getId().compareTo(emp.getId()));
		System.out.println(emp.getId().compareTo(emp.getId()));

intValue方法

以int类型返回该Integer的值。实现对从对象类型转换为值类型,其他类似方法:
byteValue();shortValue();longValue();floatValue();doubleValue()

//intValue()所有short byte long float double 对应的包装类都有类似于intValue的方法功能
		int empId =emp.getId().intValue();
		Double douObj = new Double("26.15");
		System.out.println(douObj);

parselnt方法

将给定的字符串s转换为10进制int类型返回,s字符串除了第一个字符可以使用-表示有符号的负数以外,其他字符都必须保证是0~9的数字,否则转换出现NumberFormatException异常

//parseInt静态转换方法,将字符串转化为值类型,所有包装类都具备此类似的方法
		String pwd ="452646";
		int pwdInt = Integer.parseInt(pwd);
		System.out.println(pwd+9);
		System.out.println(pwdInt+9);

重载方法:将给定的字符串s转换为以参数radix标识,10进制int值类型返回。radix的取值通常为2,8,10,16,27
任何不符合格式的s都将出现NumberFormatException异常

// parseInt重载方法
		System.out.println("二进制"+Integer.parseInt("10111", 2));
		System.out.println("八进制"+Integer.parseInt("5165", 8));
		System.out.println("十六进制"+Integer.parseInt("0ABCD", 16));

toBinaryString方法

将给定的int类型参数i转换为二进制字符串形式返回。返回的字符串形式省略前导0。类似方法:
toOctalString 转换为8进制字符串
toHexString 转换为16进制字符串

/**
	 * 
	 * @param target目标转换数据
	 * @param tag转换标识2.8.16
	 * @return String
	 */
	public static String fromIntegerToStringByArg(int target,int tag) {
		if(tag == 2)
			return Integer.toBinaryString(target);
		else if(tag == 8)
			return Integer.toOctalString(target);
		else if(tag == 16)
			return Integer.toHexString(target);
		else
			return Integer.toBinaryString(target);
int num = 2390;
		System.out.println(IntegerParseManagement.fromIntegerToStringByArg(num, 2));
		System.out.println(IntegerParseManagement.fromIntegerToStringByArg(num, 8));
		System.out.println(IntegerParseManagement.fromIntegerToStringByArg(num, 16));
		System.out.println(IntegerParseManagement.fromIntegerToStringByArg(num, 5));

valueOf方法
返回一个表示指定的int值的Integer实例。如果不需要新的Integer实例,则通常应优先使用该方法从而提供jvm效率及节省资源。类似方法:
public static Integer valueOf(String s)
public static Integer valueOf(String s,int radix)

int num = 1234;
		Integer intObj = Integer.valueOf(num);
		System.out.println(intObj.intValue());
		
		System.out.println(Integer.valueOf("345").intValue());
		
		String str = "1010010";
		Integer intObj2 = Integer.valueOf(str,2);
		System.out.println("以2进制处理"+intObj2);
		Integer intObj3 = Integer.valueOf(str,8);
		System.out.println("以8进制处理"+intObj3);
		Integer intObj4 = Integer.valueOf(str,16);
		System.out.println("以16进制处理"+intObj4);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值