包装类

包装类和String之间的转化:
以Integer为例
//包装类-》StringInteger i=100;//方式 1String str1 = i + "";//方式 2String str2 = i.toString();//方式 3String str3 = String.valueOf(i);//String -> 包装类(Integer)String str4 = "12345";Integer i2 = Integer.parseInt(str4);//使用到自动装箱Integer i3 = new Integer(str4);//构造器
string

string的注意事项:
String类是保存字符串常量的,每次跟新都需要开辟新的空间
//1.String 对象用于保存字符串,也就是一组字符序列
//2. “jack” 字符串常量, 双引号括起的字符序列
//3. 字符串的字符使用 Unicode 字符编码,一个字符(不区分字母还是汉字)占两个字节
//4. String 类有很多构造器,构造器的重载
//5. String 类实现了接口 Serializable【String 可以串行化:可以在网络传输】 接口 Comparable [String
//6. String 是 final 类,不能被其他的类继承
//7. String 有属性 private final char value[]; 用于存放字符串内容
//8. 一定要注意:value 是一个 final 类型, 不可以修改(需要功力):即 value 不能指向 新的地址,但是单个字符内容是可以变化
StringBuffer是一个容器
方法和String类似,但是StringBuffer是可变长度的,对字符串内容可以进行增删。
//1. StringBuffer 的直接父类 是 AbstractStringBuilder
//2. StringBuffer 实现了 Serializable, 即 StringBuffer 的对象可以串行化
//3. 在父类中 AbstractStringBuilder 有属性 char[] value,不是 final ,该 value 数组存放 字符串内容,引出存放在堆中的
//4. StringBuffer 是一个 final 类,不能被继承
//5. 因为 StringBuffer 字符内容是存在 char[] value, 所有在变化(增加/删除) 不用每次都更换地址(即不是每次创建新对象), 所以效率高于 String
String和StringBuffer之间的相互转化:
String str = “hello tom”;
//方式 1 使用构造器
//注意: 返回的才是 StringBuffer 对象,对 str 本身没有影响
StringBuffer stringBuffer = new StringBuffer(str);
//方式 2 使用的是 append 方法
StringBuffer stringBuffer1 = new StringBuffer();
stringBuffer1 = stringBuffer1.append(str);
//看看 StringBuffer ->String
StringBuffer stringBuffer3 = new StringBuffer(“韩顺平教育”);
//方式 1 使用 StringBuffer 提供的 toString 方法
String s = stringBuffer3.toString();
//方式 2: 使用构造器来搞定
String s1 = new String(stringBuffer3);
StringBuilder
String StringBuffer StringBuilder
Array
BigInteger 和BigDecimal
BigInteger用来保存较大的整整 BigDecimal用来保存精度较高的小数
时间日期相关
Data() 获取当前系统的时间
SimpleDateFormat 可以将指定相应的格式,这里的格式使用的字母是规定好的不呢个乱写
Data d1 = new Data();SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 hh:mm:ss E"); String format = sdf.format(d1); // format:将日期转换成指定格式的字符串//1. 可以把一个格式化的 String 转成对应的 Date//2. 得到 Date 仍然在输出时,还是按照国外的形式,如果希望指定格式输出,需要转换//3. 在把 String -> Date , 使用的 sdf 格式需要和你给的 String 的格式一样,否则会抛出转换异常String s = "1996 年 01 月 01 日 10:20:30 星期一";Date parse = sdf.parse(s);System.out.println("parse=" + sdf.format(parse));
第三代日期
LocalData 只包含日期,可以获取日期字段
LocalTime 只包含时间,可以获取时间字段
LocalDataTime 包含日期+时间,可以获得日期和时间字段
可以使用DateTimeFormatter对象进行格式化,如
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String format = dateTimeFormatter.format(ldt);
