在Java中,这种语法Form <! - ? - >的含义是什么?

时间:2015-05-11 13:01:14

标签: java

我不知道我是否在问愚蠢的问题。但我不知道这件事,因为我是Java新手。

我遇到了如下语法:

Form<?> form = new Form<Void>("userForm") {
        @Override
        protected void onSubmit() {

             /*some code here*/
        }
    };

有人可以解释一下这种语法的用法吗?如果不理解这个概念,我无法前进?

2 个答案:

答案 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中泛型类和集合的详细信息,请参阅以下教程。

generics

collections

答案 1 :(得分:0)

如果您创建表单var,则应指定此表单的类型,但您可以使用通配符加载任何&#34;类型&#34;

但要做到这一点,你需要添加一个@overryde注释,因为这种通配符不安全,应该避免,所以如果你真的想要使用它,你需要添加@overryde以确保你知道你是什么做。

干杯!!!