Java 數據類型 和 與String之間的轉換

不是很複雜,知道以下的知識就夠了:

1.Java 包括兩種數據類型:
  原始數據類型(primitive data type):int, byte, float, long, boolean ...
  對象(Object):其他的都是對象,包括數組。


2.每種 原始數據類型 都有一個相對應的包裝類(Wrapper Class):
  如 int 對應 Integer, float 對應 Float,有如下特性:

    1)包裝類裏的數值是無法修改的

    2)都有一個 構造方法,參數爲 對應的原始數據類型,比如:
      new Integer (10), new Boolean (true)

    3)都有一個 構造方法,參數爲一個字符串,把字符串轉換爲值,比如:
      new Integer ("10"), new Boolean ("true")

    4)有一個方法,可以把存在包裝類裏的值取出來:
       Integer.intValue(), Float.floatValue();
    5)有一個靜態方法,不用創建一個對象就可以把字符串轉換爲值,比如:
       int i = Integer.parseInt("10");


3.String 和 StringBuffer
  每一個 Object 都有一個 toString() 函數。
  Java 裏使用 操作符重載的地方只有一個: + 操作:
  如果兩個操作數中有一個是 String,就調用另一個操作數的 toString,結果就變成
  兩個 String 的相加。

  常用在 Exception 的處理中,比如:
  try {
  }catch (Exception e){
    System.out.println ("Error: " + e);
  }
  處理過程:"Error: " + e -> "Error: " + e.toString()

  如果是 String 和 基本數據類型相加,就先把這個基本數據類型用他的包裝類處理。
  "String" + 123 -> "String" + Integer(123) -> "String" + Integer(123).toString()

  String + String 的過程,Java 的內部處理過程(1.4以後)實際上是這樣的:
  "String1" + "String2" -> new StringBuffer("String1").append("String2").toString()

  先建立一個 StringBuffer, 再用 append 計算,最後把 StringBuffer 轉換成 String
  原因是 String 是 不可修改的,StringBuffer 是可以修改的,字符串計算時還是用
  StringBuffer 比較快

所以,數據轉換:
  int -> String
   String newValue = "" + 10;
  String -> int
   int i = (new Integer("10")).intValue();
   int i = Integer.parseInt("10");

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章