IntValue()方法 和 ValueOf()方法


intValue()

1.intValue()是java.lang.Number類的方法,Number是一個抽象類。Java中所有的數值類都繼承它。也就是說,不單是Integer有intValue方法,Double,Long等都有此方法。 
2.此方法的意思是:輸出int數據。每個數值類中具體的實現是不同的。例如: 
Float類和Double類的intValue方法,就是丟掉了小數位,而Long的intValue方法又不一樣的
Double s = 2.5;
Float k = 2.7f;
double kk = 2.9;
Double double1 = new Double(2.9);

System.out.println(k.intValue());
System.out.println(s.intValue());

輸出結果:
2
2



valueOf()

String 類中的valueOf():

static String valueOf(boolean b)
          返回 boolean 參數的字符串表示形式。
static String valueOf(Object obj)
          返回 Object 參數的字符串表示形式。
  表示的是將( )中的 轉換  成  字符串類型

eg.

String a = "abcdefbac";
String kkk = a.valueOf(true);
System.out.println(kkk.getBytes());
System.out.println(Arrays.toString(kkk.getBytes()));

輸出結果:
[B@4554617c
[116, 114, 117, 101]

原因分析:

因為a.valueOf(true) 與 a 其實沒有關系(String a = null ,也是可以的 ),主要是將()中的值變成字符串類型。
字符串類型通過.getbytes() 轉成 字符數組輸出的是:字符數組的首地址的 hashcode 值

通過Arrays.toString()方法 可以輸出 字符數組中的內容。

數據類型的轉換方式:


所以有如下轉換方式:

Double s = 2.5;
System.out.println(s.valueOf(2.5f));
System.out.println(s.valueOf("2"));
輸出結果:
2.5
2.0

Float k = 2.7f;
System.out.println(k.valueOf(2.9f));
System.out.println(k.valueOf("2.533435"));
System.out.println(k.valueOf((float) 2.5d));
輸出結果:
2.9
2.533435
2.5

Integer aa = 9;
System.out.println(aa.valueOf("23.0"));
輸出結果:
報錯Exception in thread "main" java.lang.NumberFormatException: For input string: "23.0"
原因:因為"23.0" 默認是double類型的,而aa類型是int。又因為"23.0"是字符串,無法強制轉換
只能是

System.out.println(aa.valueOf((int)23.0));強轉類型必須和aa一致


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM