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);