一些常用的API
Object
概念:Object 是类层次结构的根类。每个类都使用 Object 作为超类
常用方法:
toString()
返回该对象的字符串表示,默认打印的是地址值,返回值类型为String
hashCode()
返回该对象的哈希码值。返回int
equals(Object obj)
指示其他某个对象是否与此对象“相等”。 默认比较的是两个对象间的地址值,返回boolean
getClass()
返回此 Object 的运行时类,返回Class<?>
String
特点:1.字符串是常量;2.他们的值在创建之后不能更改
源码:
public final class String{
private final char value[];
}
本质上,字符串里的数据,底层会开辟数组的空间来存放字符串数据
数组一旦创建,长度就不能改变!!而且value数组已经被final了,数组里的值也不能改了!!
创建对象:
创建方式:
char[] c = {'a','b','c','d'};
String s = new String(c);//堆中分配新的内存
String s2="abcd";//常量池中分配新的内存
//如果使用过了就不再创建,引用存在的对象
String s3="abcd";//访问常量池中已经存在的对象
特点:
如果是第一次使用字符串,java会在字符串常量池创建一个对象
再次使用相同的内容时,会直接访问常量池中存在的对象
常用方法:
返回值为boolean类型的
endsWith(String suffix)
测试此字符串是否以指定的后缀结束
equals(Object anObject)
将此字符串与指定的对象比较
isEmpty()
当且仅当 length() 为 0 时返回 true
startsWith(String prefix)
测试此字符串是否以指定的前缀开始
返回char类型
s2.charAt(2)
获取下标2对应的字符
返回String类型
concat(String str)
将指定字符串链接到此字符串的结尾
s2.replace('c', 'r')
把原来字符串中的c替换成r
s2.substring(4)
从下标为4的位置开始向后截取所有字符串
s2.substring(2,4)
截取字符串,[2,4),含头不含尾
s2.toUpperCase()
将 s2中的所有字符都转换为大写
s2.trim()
去除前导后导多余空格
返回int类型
indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引
lastIndexOf(String str)
返回指定子字符串在此字符串中最后一次出现处的索引
length()
返回此字符串的长度
返回byte[]
getBytes()
把字符串里的数据存入byte[]里
返回String[]
split(String regex)
根据给定正则表达式的匹配拆分此字符串
返回char[]
toCharArray()
将此字符串转换为一个新的字符数组
StringBuilder/StringBuffer
特点
封装了char[]数组
是可变的字符序列
提供了一组可以对字符内容修改的方法
专门用来优化字符串的 拼接业务.
创建对象
StringBuilder()
构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符
常用方法
StringBuilder append(String str)
将指定的字符串追加到此字符序列。
包装类
专门用来为基本类型提供丰富的功能
包装类型
Byte Short Integer Long Float Double Character Boolean
Number
包装类也有严格的继承结构
抽象类Number是BigDecimal、BigInteger、Byte、Double、Float、Integer、Long和Short类的超类常用方法
byte byteValue()
以 byte 形式返回指定的数值
abstract double doubleValue()
以 double 形式返回指定的数值
abstract float floatValue()
以 float 形式返回指定的数值
abstract int intValue()
以 int 形式返回指定的数值
abstract long longValue()
以 long 形式返回指定的数值
short shortValue()
以 short 形式返回指定的数值
Integer
Integer 类在对象中包装了一个基本类型 int 的值 创建对象
Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值常用方法
static int parseInt(String s)
int intValue()
以 int 类型返回该 Integer 的值
日期类Date
概述
存在于java.util.Date包。
用来封装一个毫秒值表示一个精确的时间点。
从1970-1-1 0点开始的毫秒值创建对象
Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)常用方法
a.getDate()
一个月里的哪天
a.getDay()
周几
a.getHours()
现在几点
a.getMinutes()
现在哪一分钟
a.getMonth()
底层用0-11表示12个月
a.getSeconds()
现在是那一秒
a.getTime()
从1970年1月1日00:00:00到现在的毫秒值
a.getYear()
获取从1900年到现在有多少年
a.toLocaleString()
2020年7月17日 上午10:35:42
日期工具 概述
日期格式化工具,可以把Date对象格式化成字符串,也可以日期字符串解析成Date对象 创建对象
new SimpleDateFormat(格式)
格式:yyyy-MM-dd HH:mm:ss常见方法
format(Date):把Date格式化成字符串
parse(String):把String解析成Date
运算不精准 BigDecimal 用处
专门用来解决小数运算不精确的解决方案创建对象
BigDecimal(double val)
会导致结果有问题,更加不精准
BigDecimal(String val)
提倡使用 常用方法
加法
BigDecimal add(BigDecimal augend)
减法
BigDecimal subtract(BigDecimal subtrahend)
乘法
BigDecimal multiply(BigDecimal multiplicand)
除法
BigDecimal divide(BigDecimal divisor)
divide(BigDecimal bd,保留位数,舍入方式):除不尽时使用
求幂
pow(int n) BigInteger
用处
专门用来处理超大整数运算的解决方案