0

列 (数量) には、double 型と N/A 型の値もいくつかあります。

私のコンパレータクラスのcompareメソッドでは、これは以下のコーディングです

   if(double1 == double2) {
        return 0;
    }

    // We know that both aren't null, so if only long 2 is null, 1 > 2
    if(double2 == null) {
        return 1;
    }

    // We know that both aren't null, so if only long 1 is null, 1 < 2
    if(double1 == null) {
        return -1;
    }

    // Nulls are handled, use the native compare
    return double1.compareTo(double2);

double1 と double2 は Double 型です。

Exception: java.lang.NumberFormatException: For input string: "N/A" を返します。

解決策を教えてください。

4

1 に答える 1

0

実際には存在しない値と存在する可能性のある値を保持しようとしているのは、私の推測です (これらの Double をどのように使用しているかを確認しないと、実際には言えません)。

そのために、次のように構築することをお勧めしDoubleますDouble.NaN

Double double1 = new Double(Double.NaN);

NaN がソート操作用に定義されているかどうかはわかりません。数字ではないため、複雑な順序は保持されません。a などの補助構造を使用して、最初に数値ではない s をList<Double>くまなく調べて、それらを最初に配置することができます。Double次に、残りDoubleの s を並べ替えることができます。

于 2012-09-07T05:05:47.243 に答える