gpt4 book ai didi

java - 如何编辑 wicket 组件以获取有关进程的信息

转载 作者:行者123 更新时间:2023-11-30 09:27:40 25 4
gpt4 key购买 nike

在我的表单中我有 textField:

                add(new TextField<String>("awayScore", new PropertyModel<String>(value, "awayScore") {

private static final long serialVersionUID = 1L;

@Override
public String getObject() {
logger.info("textField");
return super.getObject();
}
}));

如你所见,我只是添加了记录器。

我在这里没有看到任何错误,但是当我运行我的应用程序时,我收到了这个错误:

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at org.toursys.web.PlayOffPage$PlayOffForm$2$1$1.getObject(PlayOffPage.java:135)

第 135 行包含:

return super.getObject();

我真的很困惑,因为没有覆盖它就可以工作

更新:

当我编辑我的代码时:

Object value = super.getObject();
logger.error(value.getClass() + "");

此代码返回:

 class java.lang.Integer

这真的很奇怪,因为根据编译器,这应该返回 String

最佳答案

当你写 new PropertyModel<String>(value, "awayScore")您 promise awayScore在你的valueString .编译器无法验证您的声明并且没有自动转换。

AbstractPropertyModel方法 getObject被定义为返回 T它将被 Object 取代.这就是它仍然有效的原因。一旦覆盖返回 String 的方法转换将失败。

关于java - 如何编辑 wicket 组件以获取有关进程的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14434757/

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