gpt4 book ai didi

java - MongoDB/Java : Type safety in DBObjects

转载 作者:IT老高 更新时间:2023-10-28 13:34:09 26 4
gpt4 key购买 nike

我在 MongoDB 文档中有一个字段,该字段存储了一个任意大的数字。当我将它作为 DBObject(MongoDB 的 Java 驱动程序)检索时,有时会遇到 ClassCastException:

DBObject obj = collection.findOne();
long val = (Long)(o.get("numericVal"));

如果 numericVal 中存储的值是 1234567890,则转换为 Long 成功。如果是 12345,则 DBObject.get() 返回一个 Double,并且转换失败。

在反序列化 MongoDB DBObjects 时如何确保类型安全?

最佳答案

我认为您可以通过使用类型安全的 getLong(String key) 而不是强制转换 (Long) 来避免 ClassCastException,并希望自动装箱能够正确地让您减少到小“l”长。

http://api.mongodb.org/java/2.8.0/org/bson/BasicBSONObject.html#getLong(java.lang.String )

DBObject obj = collection.findOne();
long val = o.getLong("numericVal");

我也对 12345 成为 Double 持怀疑态度。这里还有其他事情发生。

关于java - MongoDB/Java : Type safety in DBObjects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12305408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com