java中API补充总结
Java API是JDK所提供的使用类,这些类将底层的代码给封装起来了。Object类是java语言中的根类,它所描述的所有方法子类都可以使用,所有类在创建对象的时候,最终找的父类就是Object。在Objec类中,最常见的就是euqals方法和toString方法。equals方法用于比较两个对象是否相同,实质是比较两个对象的内存地址。在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型。在调用对象的属性时,一定要进行类型转换,转换之前一定要进行类型判断。toString方法返回该对象的字符串表示。其实该字符串内容就是对象的类型+@+内存地址值。
String类:
String类代表字符串。字符串的值在创建之后不能更改。字符串本身不能改变,但str变量中记录的地址值是可以改变的。String类中有大量的重载构造方法。
String s1 = new String(); //创建String对象,字符串中没有内容
byte[] bys = new byte[]{97,98,99,100};
String s2 = new String(bys); // 创建String对象,把数组元素作为字符串的内容
String s3 = new String(bys, 1, 3); //创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数length为要几个元素
char[] chs = new char[]{’a’,’b’,’c’,’d’,’e’};
String s4 = new String(chs); //创建String对象,把数组元素作为字符串的内容
String s5 = new String(chs, 0, 3);//创建String对象,把一部分数组元素作为字符串的内容,参数o ffset为数组元素的起始索引位置,参数count为要几个元素
String s6 = new String(“abc”); //创建String对象,字符串内容为abc
[点击并拖拽以移动]
在学习一个类时,不要盲目的把所有的方法尝试去使用一遍,应该根据这个对象的特点分析这个对象应该具备哪些功能。若想操作可变的字符串,可以用字符串缓冲区。StringBuffer就是字符串缓冲区,它是一个容器,可以装很多字符串,并能进行操作。
创建一个字符串缓冲区对象。用于存储数据。
StringBuffer sb = new StringBuffer();
sb.append("haha"); //添加字符串
sb.insert(2, "it");//在指定位置插入
sb.delete(1, 4);//删除
sb.replace(1, 4, "cast");//替换指定范围内的内容
String str = sb.toString();
正则表达式是一个字符串,使用单个字符串来描述,用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索,替换那些符合某个规则的文本。
DateFormate:
类Date表示特定的瞬间,精确到毫秒。Date有很多构造函数,可以把毫秒值转化为日期对象。DateFormate是日期/时间格式化子类的抽象类,用来解析日期或时间。DateFormate是抽象类,一般需要使用子类SimpleDateFormat来创建对象
-
//创建日期格式化对象,在获取格式化对象时可以指定风格
DateFormat df= new SimpleDateFormat("yyyy-MM-dd");//对日期进行格式化
Date date = new Date(1607616000000L);
String str_time = df.format(date);
System.out.println(str_time);//2020年12月11日
DateFormat可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转化为一个Date对象。
Calendar
Calendar是日历类,替换了许多Date的方法。将所有可能用到的时间信息封装为静态成员变量,方便获取。另一方面,Calendar是抽象类,在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象
- public static Calendar getInstance() //获取日期对象
- public int get(int field) //获取时间字段值,年,月,日,时,分,秒
- public void add(int field,int amount) //指定字段增加某
- public final void set(int field,int value)//设置指定字段的值
- public final Date getTime() //获取该日历对象转成的日期对象
System:
System中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。其类中的方法都是static,类名访问即可。
- currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
- exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态
- gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
- getProperty(String key) 用来获取指定键(字符串名称)中所记录的系统属性信息
Math:
Math类是包含用于执行基本数学运算的方法的数学工具类,像初等函数、对数、平方根等。其所有方法均为静态方法,并且一般不会创建对象。比较常见的有:
abs方法,结果都为正数;ceil方法,结果为比参数值大的最小整数的double值;floor方法,结果为比参数值小的最大整数的double值;max方法,返回两个参数值中较大的值;min方法,返回两个参数值中较小的值;pow方法,返回第一个参数的第二个参数次幂的值;round方法,返回参数值四舍五入的结果;random方法,产生一个大于等于0.0且小于1.0的double小数。
Arrays:
Arrays类一般用来操作数组(比如排序和搜索)的各种方法。如果指定数组引用为null,则访问此类中的方法都会抛出空指针异常NullPointerException。比较常见的方法有:
sort方法,用来对指定数组中的元素进行排序(元素值从小到大进行排序)
//源arr数组元素{1,5,9,3,7}, 进行排序后arr数组元素为{1,3,5,7,9}
int[] arr = {1,5,9,3,7};
Arrays.sort( arr );
toString方法,用来返回指定数组元素内容的字符串形式
int[] arr = {1,5,9,3,7};
String str = Arrays.toString(arr); // str的值为[1, 3, 5, 7, 9]
binarySearch方法,在指定数组中,查找给定元素值出现的位置。若没有查询到,返回位置为-1。要求该数组必须是个有序的数组。
int[] arr = {1,3,4,5,6};
int index = Arrays.binarySearch(arr, 4); //index的值为2
int index2= Arrasy.binarySearch(arr, 2); //index2的值为-1
大数据运算:
超过long型的数据一般不能成为整数,运算时可封装成BigInteger对象。在BigInteger类中,实现四则运算都是方法来实现,并不是采用运算符。实现四则混合运算有,add、subtract、multiply、divide方法。double和float类型在运算中很容易丢失精度,造成数据的不准确性,Java中提供BigDecimal类可以实现浮点数据的高精度运算