JavaTM 2 Platform
Std. Ed. v1.3

java.lang
クラス Float

java.lang.Object
  |
  +--java.lang.Number
        |
        +--java.lang.Float
すべての実装インタフェース:
Comparable, Serializable

public final class Float
extends Number
implements Comparable

Float クラスは、プリミティブ型 float の値をオブジェクト内にラップします。Float 型のオブジェクトには、float 型の単一のフィールドがあります。

さらにこのクラスは、floatString に、Stringfloat に変換する各種メソッドや、float の処理時に役立つ定数およびメソッドも提供します。

導入されたバージョン:
JDK1.0
関連項目:
直列化された形式

フィールドの概要
static float MAX_VALUE
          float 型の正の最大値です。
static float MIN_VALUE
          float 型の正の最小値です。
static float NaN
          float 型の非数 (NaN) 値です。
static float NEGATIVE_INFINITY
          float 型の負の無限大です。
static float POSITIVE_INFINITY
          float 型の正の無限大です。
static Class TYPE
          float プリミティブ型を表す Class オブジェクトです。
 
コンストラクタの概要
Float(double value)
          float 型に変換された引数を表す、新しく割り当てられた Float オブジェクトを構築します。
Float(float value)
          プリミティブな float 型の引数を表す、新しく割り当てられた Float オブジェクトを構築します。
Float(String s)
          文字列で表される float 型の浮動小数点値を表す、新しく割り当てられた Float オブジェクトを構築します。
 
メソッドの概要
 byte byteValue()
          この Float の値を byte 型として返します (byte 型へのキャストによる)。
 int compareTo(Float anotherFloat)
          2 つの Float オブジェクトを数値的に比較します。
 int compareTo(Object o)
          この Float を別のオブジェクトと比較します。
 double doubleValue()
          この Float オブジェクトの double 値を返します。
 boolean equals(Object obj)
          このオブジェクトをほかのオブジェクトと比較します。
static int floatToIntBits(float value)
          単精度 float 値のビット表現を返します。
static int floatToRawIntBits(float value)
          単精度 float 値のビット表現を返します。
 float floatValue()
          この Float オブジェクトの float 値を返します。
 int hashCode()
          この Float オブジェクトのハッシュコードを返します。
static float intBitsToFloat(int bits)
          指定されたビット表現と対応する単精度 float 値を返します。
 int intValue()
          この Float の int 値を返します (int 型へのキャストによる)。
 boolean isInfinite()
          この Float 値の絶対値が無限量である場合に true を返します。
static boolean isInfinite(float v)
          指定された数値の絶対値が無限量である場合に true を返します。
 boolean isNaN()
          この Float 値が非数 (NaN) である場合に true を返します。
static boolean isNaN(float v)
          指定された数値が特別な非数 (NaN) である場合に true を返します。
 long longValue()
          この Float の long 値を返します (long 型へのキャストによる)。
static float parseFloat(String s)
          Double クラスの valueOf メソッドを実行した場合と同様に、指定された String が表す値に初期化された新しい float 値を返します。
 short shortValue()
          この Float の値を short 型として返します (short 型へのキャストによる)。
 String toString()
          この Float オブジェクトの String 表現を返します。
static String toString(float f)
          指定された float 値の String 表現を返します。
static Float valueOf(String s)
          指定された String で表現される浮動小数点値を返します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

POSITIVE_INFINITY

public static final float POSITIVE_INFINITY
float 型の正の無限大です。Float.intBitsToFloat(0x7f800000) が返す値と同じです。

NEGATIVE_INFINITY

public static final float NEGATIVE_INFINITY
float 型の負の無限大です。Float.intBitsToFloat(0xff800000) が返す値と同じです。

NaN

public static final float NaN
float 型の非数 (NaN) 値です。Float.intBitsToFloat(0x7fc00000) が返す値と同じです。

MAX_VALUE

public static final float MAX_VALUE
float 型の正の最大値です。Float.intBitsToFloat(0x7f7fffff) が返す値と同じです。

MIN_VALUE

public static final float MIN_VALUE
float 型の正の最小値です。Float.intBitsToFloat(0x1) が返す値と同じです。

TYPE

public static final Class TYPE
float プリミティブ型を表す Class オブジェクトです。
導入されたバージョン:
JDK1.1
コンストラクタの詳細

Float

public Float(float value)
プリミティブな float 型の引数を表す、新しく割り当てられた Float オブジェクトを構築します。
パラメータ:
value - Float によって表される値

Float

public Float(double value)
float 型に変換された引数を表す、新しく割り当てられた Float オブジェクトを構築します。
パラメータ:
value - Float によって表される値

Float

public Float(String s)
      throws NumberFormatException
文字列で表される float 型の浮動小数点値を表す、新しく割り当てられた Float オブジェクトを構築します。文字列は、valueOf メソッドを使う場合と同様にして float 値に変換されます。
パラメータ:
s - Float に変換する文字列
例外:
NumberFormatException - 文字列が解析可能な数値を含まない場合
関連項目:
valueOf(java.lang.String)
メソッドの詳細

toString

public static String toString(float f)
指定された float 値の String 表現を返します。引数は、次のように読み込み可能な文字列に変換されます。次の説明に記載した文字、および文字列内の文字はすべて ASCII 文字です。 m あるいは a の小数部を表す桁数は、1 桁以上でなければなりませんが、必要に応じて float 型の隣接値から引数を一意に識別するために最低限必要な桁数にしてください。たとえば、ゼロでない有限の引数 f を指定してこのメソッドで生成した 10 進数表記を x とします。この場合、fx の float 型最近似値でなければなりません。あるいは、float 型の 2 つの値が均等に x に近似している場合であれば、f は 2 つの値のどちらかでなければならず、f の有効な最下位ビットは 0 でなければなりません。
パラメータ:
f - 変換対象の float
戻り値:
この引数の文字列表現

valueOf

public static Float valueOf(String s)
                     throws NumberFormatException
指定された String で表現される浮動小数点値を返します。文字列 s を浮動小数点値の文字列表現と解釈して、その値を表す Float オブジェクトを生成して返します。

snull の場合は、NullPointerException がスローされます。

文字列 s の先頭と末尾にある空白文字は無視されます。s の残りの部分が、次の字句構文規則に従って FloatValue を構成します。


 FloatValue:
 
          Signopt FloatingPointLiteral
 
ここでは、Sign、および FloatingPointLiteralJava 言語仕様の 3.10.2 での定義に従います。FloatValue の形式でない場合は、NumberFormatException がスローされます。そうでない場合は、通常の浮動小数点表示形式で正確な 10 進数を表していると見なされます。この正確な 10 進数は、概念上は無限精度のバイナリ値に変換されてから、IEEE 754 の浮動小数点計算法による通常の最近似値丸め法に従って float 型に丸められます。
パラメータ:
s - 解析される文字列
戻り値:
新しく構築された Float。引数 String で表される値に初期化されている
例外:
NumberFormatException - 文字列が解析可能な数値を含まない場合

parseFloat

public static float parseFloat(String s)
                        throws NumberFormatException
Double クラスの valueOf メソッドを実行した場合と同様に、指定された String が表す値に初期化された新しい float 値を返します。
パラメータ:
s - 解析される文字列
戻り値:
文字列引数で表される float 値
例外:
NumberFormatException - 文字列が解析可能な float を含まない場合
導入されたバージョン:
1.2
関連項目:
Double.valueOf(String)

isNaN

public static boolean isNaN(float v)
指定された数値が特別な非数 (NaN) である場合に true を返します。
パラメータ:
v - 判定される値
戻り値:
引数が NaN である場合は true、そうでない場合は false

isInfinite

public static boolean isInfinite(float v)
指定された数値の絶対値が無限量である場合に true を返します。
パラメータ:
v - 判定される値
戻り値:
引数が正の無限大または負の無限大である場合は true、そうでない場合は false

isNaN

public boolean isNaN()
この Float 値が非数 (NaN) である場合に true を返します。
戻り値:
このオブジェクトが表す値が NaN である場合は true、そうでない場合は false

isInfinite

public boolean isInfinite()
この Float 値の絶対値が無限量である場合に true を返します。
戻り値:
このオブジェクトが表す値が正の無限大または負の無限大である場合は true、そうでない場合は false

toString

public String toString()
この Float オブジェクトの String 表現を返します。このオブジェクトが表すプリミティブ float 値は、1 つの引数をとる toString メソッドを実行した場合と同じように String に変換されます。
オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの String 表現
関連項目:
toString(float)

byteValue

public byte byteValue()
この Float の値を byte 型として返します (byte 型へのキャストによる)。
オーバーライド:
クラス Number 内の byteValue
導入されたバージョン:
JDK1.1

shortValue

public short shortValue()
この Float の値を short 型として返します (short 型へのキャストによる)。
オーバーライド:
クラス Number 内の shortValue
導入されたバージョン:
JDK1.1

intValue

public int intValue()
この Float の int 値を返します (int 型へのキャストによる)。
オーバーライド:
クラス Number 内の intValue
戻り値:
このオブジェクトが表す float 値を int 型に変換した値

longValue

public long longValue()
この Float の long 値を返します (long 型へのキャストによる)。
オーバーライド:
クラス Number 内の longValue
戻り値:
このオブジェクトが表す float 値を long 型に変換した値

floatValue

public float floatValue()
この Float オブジェクトの float 値を返します。
オーバーライド:
クラス Number 内の floatValue
戻り値:
このオブジェクトが表す float

doubleValue

public double doubleValue()
この Float オブジェクトの double 値を返します。
オーバーライド:
クラス Number 内の doubleValue
戻り値:
このオブジェクトが表す float 値を double 型に変換した値

hashCode

public int hashCode()
この Float オブジェクトのハッシュコードを返します。結果は、floatToIntBits(float) メソッドで生成した場合とまったく同じように、この Float オブジェクトが表すプリミティブ float 値の int 型ビット表現になります。
オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値

equals

public boolean equals(Object obj)
このオブジェクトをほかのオブジェクトと比較します。結果が true になるのは、引数が null でなく、このオブジェクトが表す float 値のビットパターンと同一のビットパターンを持つ float 値を表す Float オブジェクトである場合だけです。このため、2 つの float 値が等しいと見なされるのは、floatToIntBits(float) メソッドをそれぞれの値に適用したときに等しい int 値が返された場合だけです。

ほとんどの場合、Float クラスの 2 つのインスタンス f1 および f2 について、f1.equals(f2) の値が true になるのは、次の式の値が true になる場合だけです。

   f1.floatValue() == f2.floatValue()
 

しかし、例外事項も 2 つあります。

この定義によって、ハッシュテーブルは正しく動作できます。
オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象のオブジェクト
戻り値:
オブジェクトが同じである場合は true、そうでない場合は false
関連項目:
floatToIntBits(float)

floatToIntBits

public static int floatToIntBits(float value)
単精度 float 値のビット表現を返します。結果は、IEEE 754 浮動小数点「単精度」ビット配列に従った、浮動小数点表現の引数になります。 どの場合も、返される値は整数型であり、intBitsToFloat(int) メソッドで指定された場合に、floatToIntBits に指定された引数と等しい浮動小数点値が生成されます。
パラメータ:
value - 浮動小数点値
戻り値:
浮動小数点値を表すビット

floatToRawIntBits

public static int floatToRawIntBits(float value)
単精度 float 値のビット表現を返します。結果は、IEEE 754 浮動小数点「単精度」ビット配列に従った、浮動小数点表現の引数になります。 どの場合も、返される値は整数型であり、intBitsToFloat(int) メソッドで指定された場合に、floatToIntBits に指定された引数と等しい浮動小数点値が生成されます。
パラメータ:
value - 浮動小数点値
戻り値:
浮動小数点値を表すビット

intBitsToFloat

public static float intBitsToFloat(int bits)
指定されたビット表現と対応する単精度 float 値を返します。引数は、IEEE 754 浮動小数点「単精度」ビット配列に従った浮動小数点表現と見なされます。

引数が 0x7f800000 の場合は、正の無限大が返されます。

引数が 0xff800000 の場合は、負の無限大が返されます。

引数が 0x7f8000010x7fffffff の範囲、あるいは 0xff8000010xffffffff の範囲にある場合、NaN が返されます。IEEE 754 にある float 型のすべての NaN 値は、事実上、Java 言語では NaN という単一の値にまとめられます。Float.floatToRawIntBits メソッドを使ってアクセス可能なのは、NaN の個別の値に限られます。

そのほかの場合では、se、および m の 3 つの値について次の引数から計算できるとします。

 int s = ((bits >> 31) == 0) ? 1 : -1;
 int e = ((bits >> 23) & 0xff);
 int m = (e == 0) ?
                 (bits & 0x7fffff) << 1 :
                 (bits & 0x7fffff) | 0x800000;
 
この場合、浮動小数点値の結果は、数式 s·m·2e-150 の値と等しくなります。
パラメータ:
bits - 整数型
戻り値:
同じビットパターンによる、単精度の浮動小数点値

compareTo

public int compareTo(Float anotherFloat)
2 つの Float オブジェクトを数値的に比較します。このメソッドによる比較は、Java 言語の数値比較演算子 (<, <=, ==, >= >) をプリミティブ float 値に適用した場合とは次の 2 つの点で異なります。 これにより、このメソッドから動作を継承する Float.compareTo(Object) では、Comparable.compareTo の一般的な規約に従い、Float での自然順序付けが「全体的」になります。
パラメータ:
anotherFloat - 比較対象の Float
戻り値:
anotherFloat がこの Float と同じ数値の場合は値 0。Float が anotherFloat より小さい数値の場合は 0 より小さい値。Float が anotherFloat より大きい数値の場合は 0 より大きい値
導入されたバージョン:
1.2
関連項目:
Comparable.compareTo(Object)

compareTo

public int compareTo(Object o)
この Float を別のオブジェクトと比較します。指定された Object が Float の場合、この関数の動作は compareTo(Float) と同じです。それ以外の場合は、ClassCastException がスローされます。これは、Float の比較は Float 同士でしか行えないためです。
定義:
インタフェース Comparable 内の compareTo
パラメータ:
o - 比較対象の Object
戻り値:
引数がこの Float と同じ数値の場合は値 0。引数がこの Float より大きい数値の場合は 0 より小さい値。引数がこの Float より小さい数値の場合は 0 より大きい値
例外:
ClassCastException - 引数が Float 値以外の場合
導入されたバージョン:
1.2
関連項目:
Comparable

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.