次のように、mongo カーソル オブジェクトから int を取得しています。
DBObject mapObj = cursor.next();
int autostart = (int) (double) (Double) mapObj.get("autostart");
整数にするためにトリプルキャストしなければならないのは奇妙に思えますが、もっと良い方法はありますか?
あなたが本当に探しているのは次のようなものだと思います。
DBObject mapObj = cursor.next();
int autostart = ((Number) mapObj.get("autostart")).intValue();
文字列への変換は行われず、値が元の整数値から(精度が失われる可能性がある)DoubleまたはLongに変換されても安全です。Double、Long、およびIntegerはすべてNumberを拡張します。
HTHロブ
また、次の方法でも実行できます。
int autostart = Integer.valueOf(mapObj.get("autostart").toString());
最後のコメントについて:
double が必要な場合は、これを使用します。
int autostart = Double.valueOf(mapObj.get("autostart").toString());
しかし、その意味は何ですか?あなたはむしろ持つことができます:
double autostart = Double.valueOf(mapObj.get("autostart").toString());
はい、必要なキャストは 1 つだけです。
double autostart = (Double) mapObj.get("autostart");