我不知道我是否在问愚蠢的问题。但我不知道这件事,因为我是Java新手。
我遇到了如下语法:
Form<?> form = new Form<Void>("userForm") {
@Override
protected void onSubmit() {
/*some code here*/
}
};
有人可以解释一下这种语法的用法吗?如果不理解这个概念,我无法前进?
答案 0 :(得分:2)
此语法用于创建通用对象。因此,您可以将泛型类用于任何类型的对象。 例如;
Form<String> form = new Form<String>("userForm")`
和
Form<Double> form = new Form<Double>("userForm")
不是同一种物体。第一个用作String,第二个用作Double。(类型仅为示例)
Form<?> form = new Form<Void>("userForm")
用法显示它的通配符,这意味着您可以使用任何类型,但可能存在不明智的情况。为避免出现不明智的情况,您可以声明表单类型或其他任何内容。
要查看Java中泛型类和集合的详细信息,请参阅以下教程。
答案 1 :(得分:0)
如果您创建表单var,则应指定此表单的类型,但您可以使用通配符加载任何&#34;类型&#34;
但要做到这一点,你需要添加一个@overryde注释,因为这种通配符不安全,应该避免,所以如果你真的想要使用它,你需要添加@overryde以确保你知道你是什么做。
干杯!!!