1. String
1.1 概述
java.lang.String : 是字符串类,底层就是一个final修饰的char数组,所以String很多特性就是数组的特性,比如长度一旦确定不能更改
1. 字符串一旦创建,这个字符串对象不能在更改
2. 为了提升字符串的访问和存储效率,Java虚拟机一种缓冲机制,把字符串都保存到了字符串常量中
3. 在执行程序的过程中,加入要用到一个字符串 a ,String s1 ="a" ;先去字符串常量中检索,是否有a,如果没有就创建一份
4. 假如有了, String s2 = "a"; 就不再创建,把已有的这个a返回,所以导致 String s1 ="a"; String s2 ="a";此时,使用s1==s2,他也是true,因为他们指向同一字符串对象 就是 a
1.2 基本使用
第一部分:创建一个对象,因为他们都指向常量池
第二部分: 如果使用了new的方式,那么会创建堆内存对象,该字符串对象会保存在堆内存中
1.3 构造方法
1.4 常用方法
学习API : ①功能是什么 ②入参和出参是什么 ③怎么用
1 char charAt (int index ) : 返回该字符串中,指定位置的字符
2 boolean endsWith(String suffix) : 判断该字符串是否以指定字符串结尾
boolean startsWith(String prefix) : 判断该字符串是否以指定字符串开始
3 boolean equalsIgnoreCase(String str) : 不区分大小写比较两个字符串是否相等
4 byte[] getBytes() : 把字符串转换为字节数组并返回
5 char[] toCharArray() : 把字符串转换为字符数组并返回
6 int indexOf(String str) : 获取该字符串中指定字符串的起始索引,找不到返回-1
7 int indexOf(String str,int index) :从指定位置开始查找(包含),获取该字符串中指定字符串的起始索引,找不到返回-1
8 index lastIndexOf(String str) : 同上,最后一次出现的索引 找不到返回-1
9 int length() : 返回该字符串的长度
10 String replaceAll(String regex . String replacement); 替换指定字符,支持正则表达式
String replace (String str . String replacement); 不支持正则表达式
11 String[] split(String regex) : 分割字符串,返回字符串数组,支持正则表达式,注意 点,需要转义
12 String substring(int begin);获取该字符串中,以某个下标起始的子字符串(包含)
13 String substring(int begin, int end) : 获取该字符串中,以某个下标起始(包含)到某个下标结束的子字符串(不包含)
14 String trim() : 去除字符串两边的空格
15 String toUpperCase() : 转大写
String toLowerCase() : 转小写
16 static String valueOf(Object obj) :调用该对象的toString方法,如果为null,则不再调用toString而是返回字符串null, 打印一个引用类型的时候,会自动调用String的valueOf 所以 会自动调用toString方法
1.5 注意
2. StringBuffer和StringBuilder
2.1 概述
StringBuffer和StringBuilder:都是字符串缓冲区,可以做拼接操作
StringBuffer、StringBuilder 和 String 的区别:
String : 底层是char数组,定长,一旦确定不可更改,不适合做字符串拼接操作
StringBuffer和StringBuilder : 底层是char数组,变长,预先在内存中申请一块空间,用来保存很多字符如果预留空间不够了,会自动扩容.默认容量为 16,扩大容量 (当前容量+1)*2 16->34->70
StringBuilder和StringBuffer的区别 :
StringBuffer 线程安全,在多线程环境下,不会出现问题
StringBuilder 非线程安全,在多线程环境下可能会出现问题
2.2 使用
3. 包装类
3.1 概述
1. 装箱就是自动将基本数据类型转换为包装器类型
2. 拆箱就是自动将包装器类型转换为基本数据类型
3.2 使用
基本类型 byte b1=12
封装为包装类 Byte b2=new Byte(b1);
3.3 Integer
3.4 转换
3.5 总结
4. System
System类提供的public static long currentTimeMillis()用来返回当前时 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差
此方法适于计算时间差。
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。 该类位于java.lang包
由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实 例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便 的进行调用。
常用方法 :
5. Date
5.1 概述
获取时间和时间操作
5.2 用法

6. Random
使用