【问题标题】:Vaadin SQLContainer Strange BehaviourVaadin SQLContainer 奇怪的行为
【发布时间】:2017-02-17 11:05:16
【问题描述】:

我在使用 Vaadin 的 SQLContainer 时遇到了一些问题。我的 SQLContainer 的名称是 agentContainer。

现在如果我运行以下代码:

System.out.println(agentContainer.getItemIds());
System.out.println(agentContainer.containsId("3"));
System.out.println(agentContainer.containsId(new RowId(new Object[]{"3"})));
System.out.println(agentContainer.getItem((new RowId(new Object[]{"3"}))));
System.out.println(agentContainer.getItem("3"));

我明白了:

[1, 2, 3, 4, 5, 6, 8, 9, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、 43、44、45、46、47、48、49、50、51、52、53、54、55、56、57、58、59]

是的

我完全不知道为什么 contains 返回 true 而 getItem 返回 null。

谁能帮我确定为什么会这样?

【问题讨论】:

  • 关键字段是数字吗?在我看来,它就像整数。 TrySystem.out.println(agentContainer.getItem(3))
  • 你是对的。这解决了这个问题。虽然我们可以将通用对象放在那里,但它对底层字段类型很敏感。

标签: java nullpointerexception null vaadin vaadin7


【解决方案1】:

事实证明,getItem 可以被赋予任何你喜欢的对象,但对象类型必须与底层字段匹配。对于数字提供者整数和字符串类型提供字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多