Java精選筆記_Java API

String類

String類的初始化

String是一個特殊的對象,一旦被初始化,就不會被改變java


一、使用字符串常量直接初始化一個String對象
String  s1="abc"; // s1是一個類類型變量,「abc」是一個對象。
二、使用String的構造方法初始化字符串對象

String  s2=new String("abc");設計模式


s1和s2的區別:
s1在字符串常量池中建立了一個abc字符串

s2在堆中建立了兩個對象一個是默認對象一個是字符串對象數組


==和equals的區別:
==比較的是地址equals比較的是內容


String類的常見操做

獲取

獲取字符串長度 int length();
根據位置獲取字符 char charAt(int index);


根據字符獲取在字符中的位置
int indexof(int ch) 返回的是ch在字符串中第一個出現的位置
int indexof(int ch,int FromIndex) 從fromIndex指定位置開始,獲取ch在字符串中出現的位置
int indexof(String str); 返回的是str在字符串中第一個出現的位置

int indexof(String str,int FromIndex) 從fromIndex指定位置開始,獲取str在字符串中出現的位置app


反向索引一個字符出現的位置
int lastindexof(int ch) 
int lastindexof(int ch,int FromIndex) 從fromIndex
int lastindexof(String str); 
int lastindexof(String str,int FromIndex) 


獲取字符串中的一部分字符串,也叫子串。  
String subString(int beginindex,int endindex);
String subString(int beginindex);


判斷

兩個字符串是否相同
equals(Object obj)

equalsIgnoreCase(String str)dom


字符串中是否包含某個字符串contains(String str)函數


兩個字符串是否以指定字符串開頭或結尾
boolean Startswith(String);
boolean endswith(String);
字符串是否爲空    boolean isEmpty(); 


字符串轉換

將字符串變成字符串數組String[] split(String regex);
將字符串變成字符數組char[] toCharArray();

將字符串變成字節數組byte[] getBytes();ui


將字符串數組變成字符串
        構造函數 String(char[])
              String(char[],offset,count)   將字符數組中的一部分轉成字符串。
        靜態函數 static String copyValueof(char[])

                  static String copyValueof(char[],offset,count)   將字符數組中的一部分轉成字符串。spa


將字符串的字母大小寫轉換
String toUppercase();大寫

String toUppercase();小寫線程


將字符串的內容替換
String repalce(char oldch,char newch);

String repalce(String s1,String s2);設計


將字符串兩端空格去掉    String trim();
將字符串進行鏈接    String concat(String);


比較

compareTo();    小返回負數 等返回0 大返回正數


StringBuffer類

是個字符串緩衝區對象用於存儲數據的容器
StringBuffer相似一個字符容器,當在其中添加或刪除字符時,並不會產生新的StringBuffer對象

特色

1.長度是可變的 2.能夠存儲不一樣類型數據
3.最終要轉換成字符串使用 4.能夠對字符串進行修改




功能

1.添加
    append(data)  將指定數據添加到已有數據的結尾處
    insert(位置,字符串)   將數據插入到指定位置
2.刪除
    delete(start,end);     刪除緩衝區中的數據,包含start不包含end
    deleteCharAt(ine index);     刪除指定位置元素
    StringBuffer.delete(0,sb.length());
3.查找
    char charAt(index);
    int indexof(string);
    int lastindexof(String);
4.修改 
    StringBuffer  replace(start,end.String)
    void  setCharAt(index,char)
    setlength()    設置長度
5.反轉
    StringBuffer reverse();
6.將緩衝區中的指定數據存儲到字符數組中
    void getChars(int srcBegin,int srcEnd,char[] dst,int dstbegin)
    StringBuilder    線程不一樣步的,StringBuffer是同步的。建議使用StringBuilder效率快。


String類和StringBuffer類的區別

一、String類表示的字符串是常量,一旦建立後,內容和長度都是沒法改變的。StringBuffer表示字符容器,其內容和長度均可以隨時修改。在操做字符串時,若是該字符串僅用於表示數據類型,則使用String類便可,可是若是須要對字符串中的字符進行增刪操做,則使用StringBuffer類
二、String類覆蓋了Object類的equals()方法,而StringBuffer類沒有覆蓋Object類的equals()方法
三、String類對象能夠用操做符「+」進行鏈接,而StringBuffer類對象之間不能




System類

是hashtable 的子類。用map的方法去除該類集合中的元素。該集合中存儲的都是字符串,沒有泛型定義
String calue=(String)prop.get(obj);
System.out.println(obj+":"+value);


在系統中自定義一些特有信息

System.setProperty("mykey","myvalue");

System類定義了一些與系統相關的屬性和方法,它所提供的屬性和方法都是靜態的,所以,想要引用這些屬性和方法,直接使用System類調用便可。

preperties();獲取當前系統的所有信息,會返回一個Properties對象,以鍵值對存在
Properties prop =new System.getProperties();

currentTimeMillis();當前時間,該方法返回一個long類型的值,該值表示當前時間與1970年1月1日0點0分0秒之間的時間差,單位是毫秒,習慣性地被稱做時間戳


arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
arraycopy()方法用於將一個數組中的元素快速拷貝到另外一個數組。其中的參數具體做用以下:
src:表示源數組
dest:表示目標數組
srcPos:表示源數組中拷貝元素的起始位置
destPos:表示拷貝到目標數組的起始位置
length:表示拷貝元素的個數
須要注意的是,在進行數組複製時,目標數組必須有足夠的空間來存放拷貝的元素,不然會發生角標越界異常


Runtime類

static Runtime getRuntime();
process p= r.exec("*.exe")      //執行文件
p.destory();         //殺掉進程。

使用了單例設計模式


Runtime類用於表示虛擬機運行時的狀態,它用於封裝JVM虛擬機進程。每次使用java命令啓動虛擬機都對應一個Runtime實例,而且只有一個實例,所以該類採用單例模式進行設計,對象不能夠直接實例化。若想在程序中得到一個Runtime實例,只能經過如下方式:
Runtime run = Runtime.getRuntime();
因爲Runtime類封裝了虛擬機進程,所以,在程序中一般會經過該類的實例對象來獲取當前虛擬機的相關信息。


Math類

Math類是數學操做類,提供了一系列用於數學運算的靜態方法,包括求絕對值、三角函數等。Math類中有兩個靜態常量PI和E,分別表明數學常量π和e。

ceil();                  返回大於參數的最小整數
floor();                返回小於參數的最大整數
round();            返回四捨五入
pow(a,b);        a的b次方
random();        大於等於0.0且小於1.0的僞隨機double值


Random類

它能夠在指定的取值範圍內隨機產生數字
Random類提供了更多的方法來生成各類僞隨機數,不只能夠生成整數類型的隨機數,還能夠生成浮點類型的隨機數


包裝類

基本數據類型     引用數據類型
   byte                  Byte
   short                 Short
   int                     Integer
   long                  long
   float                  Float
   char                  Character
   boolean            Boolean
   double              Double


用於基本數據類型和字符串類型之間的轉換
包裝類和基本數據類型在進行轉換時,引入了裝箱和拆箱的概念,其中裝箱是指將基本數據類型的值轉爲引用數據類型,反之,拆箱是指將引用數據類型的對象轉爲基本數據類型
基本數據類型轉換成字符串 
基本數據類型+""
基本數據類型.toString(基本數據類型值)
字符串轉換成基本數據類型
***.Parse***(***類型字符串);


進制轉換

十進制--其餘進制
toBinaryString();二進制
toOctolString();八進制
tohexString();十六進制 


其餘進制--十進制
parseInt(string,進制);

注意

包裝類都重寫了Object類中的toString()方法,以字符串的形式返回被包裝的基本數據類型的值。
除了Character外,包裝類都有valueOf(String s)方法,能夠根據String類型的參數建立包裝類對象,但參數字符串s不能爲null,並且字符串必須是能夠解析爲相應基本類型的數據,不然雖然編譯經過,但運行時會報錯。
除了Character外,包裝類都有parseXXX(String s)的靜態方法,將字符串轉換爲對應的基本類型的數據。


Data類

獲取當前時間    Date date=new Date();
將模式封裝到    SimpleDateformat對象中 自定義風格
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  hh:mm:ss");
調用format方法讓模式格式化指定Date對象
String time=sdt.format(d);


Calendar類

Calendar類是一個抽象類,不能夠被實例化,在程序中須要調用其靜態方法getInstance()來獲得一個Calendar對象,而後調用其相應的方法
        Calendar c = Calendar.getInstance();
        c.get(Calendar.Year);             //獲取年
        c.get(Calendar.Month);         //獲取月
        c.get(Calendar.DayofMonth);     //獲取日
        c.get(Calendar.DayofWeek);      //獲取星期

更改日期    c.add(Calendar.字段,12)

獲取任意年的二月
        c.set(year,2,1) //獲取默認一年的三月1日
        c.add(Calendar.Day_of_Month,-1)


DateFormat類

DateFormat類專門用於將日期格式化爲字符串或者將用特定格式顯示的日期字符串轉換成一個Date對象
DateFormat是抽象類,不能被直接實例化,但它提供了靜態方法,經過這些方法能夠獲取DateFormat類的實例對象,並調用其它相應的方法進行操做


DateFormat中還提供了一個parse(String source)方法可以將一個字符串解析成Date對象,可是它要求字符串必須符合日期/時間的格式要求,不然會拋出異常


SimpleDateFormat類

該類是DateFormat類的子類。SimpleDateFormat類能夠使用new關鍵字建立實例對象,它的構造方法接收一個格式字符串參數,表示日期格式模板
相關文章
相關標籤/搜索