个人学习总结:
API
-API(Application Programming Interface)应用编程接口,一切可以调用的东西都是API。
一、Object
-所有对象的顶级父类。
-存在java.lang包中,这个包不需要部门手动导包。
常用方法:
String toString() | 返回该对象的字符串表示 |
---|---|
int hashCode() | 返回该对象的哈希码值 |
boolean equals(Object obj) | 指示其他某个对象是否与此对象“相等” |
二、String
1.源码摘抄:
publuc final class String{ }
privale final char value[ ];
2.特点:
-String字符串类,用来表示“ ”,String类被final修饰,也就是不可以被继承。
-String底层维护了一个char[ ],而且是final的,也就是说数组一旦创建长度和值都不能被修改了,字符串就变成了一个常量。
3.创建对象
-String( Char[ ] value )
分配一个新的String,使其表示字符数组参数中当前包含的字符串序列。
4.常用方法
char charAt(int index) | 返回指定索引处的 char 值 |
---|---|
String concat(String str) | 将指定字符串连接到此字符串的结尾 |
int length() | 获取字符串的长度 |
String substring(int beginIndet , int endIndex) | 从第一个下标开始,到第二个下标结束,截取字符串 |
String[ ] spilt(String regex) | 按照指定的方式切割字符串 |
有很多常用方法,可见API手册
三、StringBuilder/StringBuffer
常用于字符串拼接的优化。
1.特点
1.封装了char[ ]数组;
2.是可变的字符序列;
3.提供了一组可以对字符内容修改的方法;
4.常用append()来代表字符串做字符串连接;
5.内部字符数组默认容量是16:initial capacity of 16 characters;
6.如果大于16会尝试将扩容,新数组大小原来的变成2倍+2,容量如果还不够,直接扩充到需要的容量大小。
int newCapacity = value.length * 2 + 2;
7.StringBuffer 1.0出道线程安全,StringBuilder1.5出道线程不安全
2.创建对象
-StringBuilder() 构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。
3.常用方法
-StringBuilder append(String str) 将指定的字符串追加到此字符序列。
四、包装类
1.基本类型与包装类的对应关系
byte | Byte |
---|---|
short | Short |
int | Integer |
long | Long |
double | Double |
float | Float |
char | Character |
booleat | Boolean |
2.包装类的继承结构
-所有的数字类型的父类 叫 Number
-源码摘抄:
publuc abstract class Number
3.Integer
-装箱 int --> Integer
Integer i =new Integer(5); 新建对象,效率低
Integer i =Integer.valueOf(5); 效率高
-拆箱 Integer --> int
int i = Integer.intValue;
-创建对象:
Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。
-常用方法
int intValue() | 以 int 类型返回该 Integer 的值 |
---|---|
static int parseInt(String s) | 把字符串类型 转成 int基本类型 |
static Integer valueOf(int i) | 返回一个表示指定的 int 值的 Integer 实例 |
4.Double
-基本类型double对应的包装类型,用来为double提供更丰富的功能
-创建对象:
Double(double value)构造一个新分配的 Double 对象,它表示基本的 double 参数。
static Double valueOf(double d) 返回表示指定的 double 值的 Double 实例。
-常用方法:
double doubleValue() 把包装类型的值变回成基本类型
static double parseDouble(String s) 把字符串类型的值变成基本类型
五、日期类Date
-存在java.util.Date包
-用来封装一个毫秒值表示一个精确的时间点
-从1970-1-1 零点开始的毫秒值
1.创建对象
new Date():封装的是系统当前时间的毫秒值
new Date(900000000000L):封装指定的时间点
2.常用方法
getTime():
setTime():
getMonth():
getHours():
可查看api手册
六、日期工具类SimpleDateFormat
日期格式化工具,可以把Date对象格式化成字符串,也可以日期字符串解析成Date对象。
1.创建对象
new SimpleDateFormat(格式)
格式:yyyy-MM-dd HH:mm:ss
2.常见方法
1.format(Date):把Date格式格式化字符串
2.Parset(String):把String解析成Date
七、BigDecimal/BigInteger
-java中存在浮点数运算时不精确的问题,需要BigDecimal工具类来解决
BigDecimal:常用来解决精确的浮点数运算。
BigInteger:常用来解决超大的整数运算。
1.创建对象
BigDecimal(double val) 将 double 转换为 BigDecimal,后者是 double 的二进制浮点值准确的十进制表示形式。
BigDecimal(String val) 将 BigDecimal 的字符串表示形式转换为 BigDecimal。
2.常用方法
add(BigDecimal bd) | 做加法运算 |
---|---|
substract(BigDecimal bd) | 做减法运算 |
multiply(BigDecimal bd) | 做乘法运算 |
divide(BigDecimal bd) | 做除法运算 |
divide(BigDecimal bd,保留位数,舍入方式) | 除不尽时使用 |
setScale(保留位数,舍入方式) | 同上 |
pow(int n) | 求数据的几次幂 |