Java常见类库(一):Object,Math,Arrays,BigDecimal

一、Object类
Object类是Javajava.lang包下的核心类,Object类是所有类的父类。
Object类中的方法:

  • clone() :创建并返回此对象的副本。
  • equals​(Object obj) :指示某个其他对象是否“等于”此对象。【Objects.obj1.equals(obj2)比较两个对象是否相同,但是加了obj1f非空的判断!】
  • getClass() :返回此 Object的运行时类。
  • hashCode() :返回对象的哈希码值。
  • notify() :唤醒正在此对象监视器上等待的单个线程。
  • notifyAll(): 唤醒等待此对象监视器的所有线程。
  • toString() :返回对象的字符串表示形式。
  • wait() :导致当前线程等待它被唤醒,通常是 通知或 中断 。
  • wait​(long timeoutMillis) :导致当前线程等待它被唤醒,通常是 通知或 中断 ,或者直到经过一定量的实时。
  • wait​(long timeoutMillis, int nanos): 导致当前线程等待它被唤醒,通常是 通知或 中断 ,或者直到经过一定量的实时。

二、Math类
类Math包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。

Math.round(num)     //四舍五入
Math.random()       //返回0-1之间的随机数 [0,1)
Math.max(num1, num2)   //返回较大的数
Math.min(num1, num2)   //返回较小的数
Math.abs(num)       //绝对值
Math.ceil(19.3)     //向上取整  -2.9  -2  2.1  3
Math.floor(11.8)    //向下取整  -2.9  -3  2.1  2
Math.pow(x,y)       //x的y次方
Math.sqrt(num)      //开平方
Math.PI              //π 常量
引用链接:https://blog.csdn.net/qq_45785424/article/details/10647385

三、Arrays类
该类包含用于操作数组的各种方法(例如排序和搜索)。

Arrays.fill(); //填充数组

  	int[] arr = new int[5];//新建一个大小为5的数组
	Arrays.fill(arr,4);//给所有值赋值4
	String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
	System.out.print(str);
	//输出:[4, 4, 4, 4, 4]
int[] arr = new int[5];//新建一个大小为5的数组
Arrays.fill(arr, 2,4,6);//给第2位(0开始)到第4位(不包括)赋值6
String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
System.out.print(str);
//输出:[0, 0, 6, 6, 0]

Arrays.sort(); //数组排序

Arrays类有一个静态方法sort,利用这个方法可传入要排序的数组进去排序,因为传入的是一个数组的引用,所以排序完成的结果也通过这个引用来更改数组。

1.数字排序

int[] intArray = new int[] { 4, 1, 3, -23 };
Arrays.sort(intArray);
//输出: [-23, 1, 3, 4]

2.字符串排序,先大写后小写

String[] strArray = new String[] { “z”, “a”,C};
Arrays.sort(strArray);
//输出: [C, a, z]

3.选择数组指定位置进行排序

int[] arr = {3,2,1,5,4};
Arrays.sort(arr,0,3);//给第0位(0开始)到第3位(不包括)排序
String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
System.out.print(str);
//输出:[1, 2, 3, 5, 4]

Arrays.toString(); //将数组中的内容全部打印出来

int[] arr = {3,2,1,5,4};
System.out.print(arr);//直接将数组打印输出
//输出:[I@7852e922 (数组的地址)

String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
//System.out.print(str);
//输出:[3, 2, 1, 5, 4]

Arrays.equals(); //比较数组元素是否相等

int[] arr1 = {1,2,3};
int[] arr2 = {1,2,3};
System.out.println(Arrays.equals(arr1,arr2));
//输出:true
//如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。

Arrays.copeOf() 和Arrays.copeOfRange(); //截取数组

	int[] arr = {10,20,30,40,50};
	int[] arr1 = Arrays.copyOf(arr, 3);
	String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
	System.out.print(str);
	//输出:[10, 20, 30] (截取arr数组的3个元素赋值给新数组arr1)
	int []arr = {10,20,30,40,50};
	int []arr1 = Arrays.copyOfRange(arr,1,3);
	String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
	System.out.print(str);
	//输出:[20, 30] (从第1位(0开始)截取到第3位(不包括))

Arrays原文链接:https://blog.csdn.net/weixin_41924879/article/details/100102009
四、BigDecimal类
不论是float 还是double都是浮点数,而计算机是二进制的,浮点数计算会失去一定的精确度。在项目中,我们不可能让这种情况出现,特别是金融项目。
BigDecimal类中的方法:

  • add(BigDecimal):值相加,然后返回这个对象。
  • subtract(BigDecimal):值相减,然后返回这个对象。
  • multiply(BigDecimal):值相乘,然后返回这个对象。
  • divide(BigDecimal):值相除,然后返回这个对象。
  • toString():数值转换成字符串。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值