Float(float value)
Javaの
ラッパー クラス Float で次の 2 つのコンストラクターを使用する方法の違いは何ですか。
Float (double value)
同様に、2 つのコンストラクター
Float(double value)
と
Double(double value)
Float(float value)
Javaの
ラッパー クラス Float で次の 2 つのコンストラクターを使用する方法の違いは何ですか。
Float (double value)
同様に、2 つのコンストラクター
Float(double value)
と
Double(double value)
Float(float)
コンストラクターは、指定された値でラッパー オブジェクトを作成しますFloat
。コンストラクターは、Float(double)
指定された引数を にキャストして と オブジェクトを作成しfloat
、値の精度の一部を失いdouble
ます。ソースから:
public Float(float value) {
this.value = value;
}
public Float(double value) {
this.value = (float)value;
}
一方Double(double)
、コンストラクターは、指定さDouble
れた値でラッパー オブジェクトを作成しdouble
ます。
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;
Float(float 値) と Float (double 値) の間に特定の違いはありません。後者は double パラメーターを float 表現にキャストするだけです。
このメソッドのソース コードを参照してください。
public Float(float value) {
this.value = value;
}
public Float(double value) {
this.value = (float) value;
}
クロス型コンストラクターを持つことは、一方の精度の浮動小数点値があり、もう一方の精度を保持するオブジェクトが必要な場合に便利です。からdouble
に移動float
すると精度が失われ、 から に移動するとfloat
精度double
が向上します (ただし、格納されている実際の値はゼロで埋められます)。2 つのコンストラクターは、最初に他の精度に手動でキャストすることと同じです。