2013-08-19 124 views
2

是什麼,使我們在java中使用下列2層構造的包裝類浮動方式之間的差別 Float(float value)Float (double value)Float類的構造函數

2名建設者之間

同樣 Float(double value)Double(double value)

回答

3

構造函數Float(float)用給定的值創建一個Float包裝對象。構造函數Float(double)用給定的參數創建並對象,並將其轉換爲float,從而失去了double值的一些精度。從the source

public Float(float value) { 
     this.value = value; 
} 

public Float(double value) { 
     this.value = (float)value; 
} 

Double(double)構造,另一方面創建具有給定doubleDouble包裝對象。

0

具有交叉類型構造函數只是一個方便,當你有一個精度的浮點值並且需要一個持有另一個的對象時。從double移動到float會丟失精度,並且從float移動到double獲得精度(但實際存儲值將只填充零)。這兩個構造函數相當於首先手動轉換爲其他精度。

2

Have a look at source code

 public More ...Float(float value) { 
480  this.value = value; 
481 } 


Constructs a newly allocated Float object that represents the argument converted to type float. 
Parameters: 
value the value to be represented by the Float. 
488 
489 public More ...Float(double value) { 
490  this.value = (float)value; 
491 } 

只是澆鑄this.value = (float)value;

1

有浮子(float值)之間沒有特定的差異和Float(雙值),後者只投雙參數浮動表示。這種方法

見源代碼:

public Float(float value) { 
    this.value = value; 
} 

public Float(double value) { 
    this.value = (float) value; 
}