1.System
java.lang.System类提供了大量的静态方法,可以获取系统相关的信息或执行系统操作,常用方法有:
- static long currentTimeMillis():返回以毫秒为单位的当前时间
- static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中
- src:源数组
- srcPos:源数组的起始位置
- dest:目标数组
- destPos:目标数组的起始位置
- length:要复制的内容的长度
import java.util.Arrays;
public class SystemMain {
public static void main(String[] args) {
long time = System.currentTimeMillis();
System.out.println(time); // 1587609427487
int[] src = new int[]{1,2,3,4};
int[] dest = new int[]{5,6,7,8};
System.arraycopy(src, 0, dest, 0, 3);
System.out.println(Arrays.toString(dest)); // [1, 2, 3, 8]
}
}
2. StringBuilder
Java中的字符串的底层实现为一个被final关键字修饰的字节数组,因此,一旦创建就不能改变。如果直接使用+进行字符串的拼接,那么内存会保存拼接的中间结果,这样的方法会占用较多的内存,效率低下。
StringBuilder是字符串缓冲区,它可以提高字符串的操作效率,它的底层实现也是一个数组,但是并没有被final关键字修饰,因此可以改变长度。StringBuilder在内存中始终是一个数组,占用空间少,效率高,如果超出了StringBuilder的容量会自动进行扩容。
构造方法:
- StringBuilder():构造一个不带任何字符串的字符串生成器,其实容量为16个字符
StringBuilder(String str):构造一个字符串生成器,并初始化为指定的字符串内容
public class StringBuilderMain { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); System.out.println(sb); // "" StringBuilder sb1 = new StringBuilder("Forlogen"); System.out.println(sb1); // Forlgoen } }
StringBuilder append(…):添加任意类型数据的字符串形式,并返回当前对象自身
public class StringBuilderMain { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); System.out.println(sb); // "" sb.append("Forlogen"); sb.append(24); System.out.println(sb); // Forlogenkobe24 } }
StringBuilder和String之间的相互转换:
- StringBuilder -> String:使用StringBuilder的toString方法
String -> StringBuilder:使用上述的构造方法
public class StringBuilderMain { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Forlogen"); System.out.println(sb); // Forlgoen System.out.println(sb.toString()); // Forlogen } }
int length():获取字符串的长度
StringBuilder insert():将内容插入到StringBuilder对象的指定位置
public class StringBuilderMain { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Forlogen"); System.out.println(sb.length()); // 8 System.out.println(sb.insert(3, "KOBE")); // ForKOBElogen } }