1· Object 的一些知识总结
Object是java中的顶级父类,所有类都直接或间接继承于Object类
public Object() 空参构造
返回字符串
public toString() 返回字符串
默认情况下,Objeect类中的toString方法返回的是地址值。
返回属性值的方法: 重写toString方法
比较方法
public equals() 比较方法
//默认情况下,equals比较地址值,如果想要比较属性值,重写
//字符串中的equals ,要先判断参数是否为字符串,如果不是字符串直接返回false
//StringBuilder 中不含equals方法,因此调用时默认返回Object中的equals方法.
public boolean equals(Object o){
if(this==o)return true;
if(o==null || getClass()!=p.getClass()) return false;
Student stu=(Student) o;
return age==stu.age && Objects.equals(name,stu.name) ;
}
对象拷贝
public clone(){} 对象拷贝
//如果一个接口里面没有抽象方法,表示当前的接口是一个标记性接口;
//Cloneable 表示一旦实现,当前类的对象就可以被克隆。
//调用克隆方法时,需要先重写 clone方法,然后实现Cloneable接口,创建原对象并调用clone。
//浅克隆: 无论对象内部属性是基本数据类型还是引用数据类型,都完全拷贝过来。
Object 中的克隆是浅克隆
//深克隆: 基本数据类型拷贝;字符串复用;引用数据类型会重新创建新的。
判空方法
public static boolean inNull(Object obj) 判断对象是否为null,为null返回true:
public static boolean nonNull(Object obj) 判断对象是否为null,跟isnull结果相反
输出语句的解析
System.out.println();
System:类名 out: 静态变量
//System.out: 获取打印的对象 println(): 方法
// 参数:表示打印的内容
//核心逻辑: 当我们打印一个对象的时候,底层会调用对象的toString 方法,把对象变为字符串
获取随机大整数
public BigInteger(String val) 获取指定的大整数
BigInteger bd2=new BigInteger("99999999999999999999999");//字符串只能为整数
public BigInteger(String val,int radix) 获取制定进制的大整数
// 字符串中的数字必须符合要求的进制
BigInteger bd3=new BigInteger("100",2);
System.out.println(bd3);
public static BigInteger valueOf(long val) 静态方法获取BigInteger的对象
//取值在long范围,在内部,对常用数字 -16~16进行优化,提前创建好Biginteger的对象,多次获取不会重新创建新的.
BigInteger bd4=BigInteger.valueOf(100);
// 注意:对象一旦创建,里面的数据不能发生改变
System.out.println(bd4);
BigInteger的成员方法:(对象是不能直接用运算符号操作,需要调用不同的方法)
public BigInteger add(BigInteger val) 加法
BigInteger bd1=BigInteger.valueOf(1);
BigInteger bd2=BigInteger.valueOf(2);
// BigInteger bd3=bd1.add(bd2);
// public BigInteger subtract(BigInteger val) 减法
// public BigInteger multiply(BigInteger val) 乘法
// public BigInteger divide(BigInteger val) 除法,获取商
// public BigInteger[] divideAndRemainder(BigInteger val) 除法,获取商和余数
BigInteger[] bigIntegers = bd1.divideAndRemainder(bd2);
System.out.println(bigIntegers.length);
// public boolean equals(Object x) 比较是否相同
// public BigInteger pow(int exponent) 次幂
// public BigInteger max/min(BigInteger val) 返回较大/较小值
// public int intValue(BigInteger val) 转为int类型整数,超出范围数据出错
BigDecimal:用来表示很大的小数;用于解决小数运算精度失真问题
BigDecimal:表示较大的小数;用来表示很大的小数;用于解决小数运算精度失真问题;
//通过传递字符串表示的小数
BigDecimal bd5=new BigDecimal("0.01");
System.out.println(bd5);
//通过静态方法获取对象
BigDecimal bd6=BigDecimal.valueOf(10);
System.out.println(bd6);
//在内部,对常用数字 0~10之间的整数进行优化,提前创建好BigDecimal的对象,多次获取不会重新创建新的.
// BigDecimal 常见方法:大多与BigInteger 相同
// BigDecimal bd7=bd1.divide(bd5, 2,RoundingMode.HALF_UP); //四舍五入
//当不能整除时,会报错.需要精确位数
}