【问题标题】:getValue(String.class) vs getValue().toString()getValue(String.class) 与 getValue().toString()
【发布时间】:2018-12-25 10:57:51
【问题描述】:

这是此处提出的问题的示例:

getValue(String.class) vs getValue().toString();

我在我的 firebase 表中存储了一个子“Vyear”作为整数,它看起来像这样

我曾经如下检索它,应用程序总是崩溃;

child4.child("Vyear").getValue(String.class);

阅读问题和答案后,我解决了我的问题,现在我正在使用;

child4.child("Vyear").getValue().toString();

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为它是作为对另一个问题的解释而发布的,并且本身不是一个有效的问题。
  • @PradyumanDixit 我以某种方式确实读到了一个问题,所以写下了这两个 sn-ps 的不同之处。但您也可能是对的,所以 Naderco-jo:如果您打算回答链接的问题,您应该输入与该问题的答案相同的信息。
  • 您应该编辑问题并在那里更新 sn-ps,发布不同的问题进行解释会造成混乱。
  • 我试图回答原始问题,由于某种原因我没有被允许。

标签: java android firebase-realtime-database


【解决方案1】:

你的第一个sn-p:

child4.child("Vyear").getValue(String.class);

这将从Vyear 中检索String 值。由于Vyear存储的是数值,也就是说sn-p返回null

第二个sn-p:

child4.child("Vyear").getValue().toString();

这将返回来自Vyear 的基础类型中的值。所以如果Vyear 有一个值,这将返回一个数字(longLong)。对此调用toString(),将数字作为字符串提供给您。

请注意,如果 Vyear 不存在,第二个 sn-p 将在调用 toString() 时抛出 NullPointerException

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    相关资源
    最近更新 更多