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:要复制的内容的长度
  1. import java.util.Arrays;
  2. public class SystemMain {
  3. public static void main(String[] args) {
  4. long time = System.currentTimeMillis();
  5. System.out.println(time); // 1587609427487
  6. int[] src = new int[]{1,2,3,4};
  7. int[] dest = new int[]{5,6,7,8};
  8. System.arraycopy(src, 0, dest, 0, 3);
  9. System.out.println(Arrays.toString(dest)); // [1, 2, 3, 8]
  10. }
  11. }

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
    
      }
    }
    

>