1. 程式人生 > 實用技巧 >常用類

常用類

Java常用類

一.String類

  • 字串時常量,建立後不可改變
  • 字串字面值儲存在字串池中,可以共享
    字串的建立方式
  1. 使用String str="hello",產生一個物件,字串池中儲存
  2. 使用String str=new String("hello"),產生兩個物件,堆和字串池中個儲存一個;

常用方法

  • public int length():返回字串的長度;
  • public char charAt(int index):根據下標獲取字元
  • public boolean contains(String str):判斷當前字串是否包含str
  • public char[] toCharArray():將字串轉換成字元陣列
  • public int indexOf(String str):查詢str首次出現的下標,存在,則返回下標;不存在,則返回-1;
  • public int lastIndexOf(String str):查詢str最後一次出現的下標索引 ,不存在返回-1;
  • public String tirm():去掉字串前後的空格
  • public String toUpperCase()/toLowCase():將小寫轉換成大寫/將大寫轉換為小寫
  • public boolean endsWith(String str):判斷字串是否以str結尾
  • public String replace(char oldChar,char newChar):將舊字串替換成新字串
  • public String[] split(String str):根據str拆分字串
package oop;
import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        String str=" dengwenxiong ";
        //length()
        int num1=str.length();
        System.out.println(num1);
        //charAt()
        char a=str.charAt(0);
        System.out.println(a);
        //containas()
        boolean f=str.contains("wen");
        System.out.println(f);
        //toCharArray()
        char[] b=str.toCharArray();
        System.out.println(Arrays.toString(b));
        //indexOf()
        int index1=str.indexOf("wn");
        System.out.println(index1);
        //lastIndexOf()
        int index2=str.lastIndexOf("wn");
        System.out.println(index2);
        //trim()
        String str2=str.trim();
        System.out.println(str2);
        //toUpperCase()
        String str3=str.toUpperCase();
        System.out.println(str3);
        //endsWith()
        boolean g=str.endsWith(" ");
        System.out.println(g);
        //replace()
        String str4=str.replace('n','o');
        System.out.println(str4);
        //split()
        String[] str5=str.split("on");
        System.out.println(Arrays.toString(str5));
    }
}

可變字串

  • StringBuffer:可變長字串,執行效率慢,執行緒安全
  • StringBuilder:可變長字串,執行效率快,執行緒不安全

效率比String高,也比String節省記憶體

package oop;

import java.util.Arrays;

public class Test {
    //StringBulider與StringBuffer使用方法一樣
    public static void main(String[] args) {
        StringBuffer sb=new StringBuffer();
        //append()追加
        sb.append("deng");
        System.out.println(sb);
        //insert()插入
        sb.insert(0,"shit ");
        System.out.println(sb);
        //replace()替換
        sb.replace(0,5,"haha");
        System.out.println(sb);
        //delete()刪除;含頭不含尾
        sb.delete(0,2);
        System.out.println(sb);
    }
}

二.BigDecimal類

double是近似儲存
位於java.math包中,用於精確計算浮點數。
建立方式:
BigDecimal bd=new BigDecimal("1.0");

package oop;
import java.beans.beancontext.BeanContext;
import java.math.BigDecimal;

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        BigDecimal  d1=new BigDecimal("1.0");
        BigDecimal d2=new BigDecimal("0.9");
        //減法subtract()
        System.out.println(d1.subtract(d2));
        //加法add()
        System.out.println(d1.add(d2));
        //乘法multiply()
        System.out.println(d1.multiply(d2));
        //除法divide()可設定精確值
        System.out.println(d1.divide(d2,2, BigDecimal.ROUND_CEILING));
    }
}

三.Date類(基本被Calendar取代)

package oop;
import java.util.Date;
public class Test {
    public static void main(String[] args) {
        //建立Date物件
        //今天
        Date date1=new Date();
        System.out.println(date1.toLocaleString());
        //昨天
        Date date2=new Date(date1.getTime()-24*60*60*1000);
        System.out.println(date2.toLocaleString());
        //方法after,before
        boolean f1=date2.after(date1);
        System.out.println(f1);
        //comareTo()
        int d=date1.compareTo(date2);
        System.out.println(d);
    }
}

四.Calendar類

package oop;
import java.util.Calendar;
public class Test {
    public static void main(String[] args) {
        //建立calendar物件
        Calendar calendar=Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString());
        System.out.println(calendar.getTimeInMillis());
        //獲取時間資訊
        int year=calendar.get(Calendar.YEAR);
        //月是從0-11
        int month=calendar.get(Calendar.MONTH);
        int day=calendar.get(Calendar.DAY_OF_MONTH);
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        int minute=calendar.get(Calendar.MINUTE);
        int second=calendar.get(Calendar.SECOND);
        //修改時間
        Calendar calendar2=Calendar.getInstance();
        calendar2.set(Calendar.YEAR,2009);
        System.out.println(calendar2.getTime().toLocaleString());
        //獲得最大值
        int max=calendar2.getActualMaximum(Calendar.MONDAY);
        System.out.println(max);

五.SimpleDateFormat類

package oop;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
    public static void main(String[] args) throws Exception {
        //建立SimpleDateFormat物件
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date date=new Date();
        //格式化date,把日期轉成字串
        String str=sdf.format(date);
        System.out.println(str);
        //解析,把字串轉成日期
        SimpleDateFormat sdf2=new SimpleDateFormat("yyyy/MM/dd");
        Date date2=sdf2.parse("1998/01/02");
        System.out.println(date2);
    }
    
}


System類

package oop;
public class Test {
    public static void main(String[] args) {
        //陣列複製
        //src:源陣列
        //srcPos:從那個位置開始複製
        //dest:目標陣列
        //dest:目標陣列的位置
        //length:複製的長度
        int[] arr={1,2,3,4,5,6};
        int[] dest=new int[8];
        System.arraycopy(arr,0,dest,1,3);
        for(int a:dest){
            System.out.println(a);
        }
        //獲取當前系統時間
        System.out.println(System.currentTimeMillis());
        //退出jvm
        System.exit(0);
    }
}