web-dev-qa-db-ja.com

JavaでオブジェクトをLongにキャストします

Java=でオブジェクト型をLong型に変換しようとしています、そして私は次のようになりました:

public static Long castObjectToLong(Object object) {
    return ((Long)object).longValue();

実行するとClassCastExceptionがスローされます

4
Dat Tan Nguyen

次のコードが役立ちます。

public class CastObjectToLong {
    public Long castLongObject(Object object) {
        Long result = 0l;
        try {
            if (object instanceof Long)
                result = ((Long) object).longValue();
            else if (object instanceof Integer) {
                result = ((Integer) object).longValue();
            } else if (object instanceof String) {
                result = Long.valueOf((String) object);
            }
            System.out.println(result);
        } catch (Exception e) {
            System.out.println("============= cannot cast");
            // do something
        }
        return result;
    }

    public static void main(String... args) {
        CastObjectToLong castObjectToLong = new CastObjectToLong();
        Object object1 = 12; // Integer
        Object object2 = "12"; // String
        Object object3 = 12l; // String
        Object object4 = "abc"; // String

        castObjectToLong.castLongObject(object1);
        castObjectToLong.castLongObject(object2);
        castObjectToLong.castLongObject(object3);
        castObjectToLong.castLongObject(object4); // exception here
    }

}

出力:

12

12

12

=============キャストできません

1
Luan Vo