首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >符号“Class<?>.”

符号“Class<?>.”
EN

Stack Overflow用户
提问于 2014-11-19 13:53:50
回答 3查看 175关注 0票数 0

我必须使用现有的代码,但我没有找到这个符号的含义:Class<?>...

例如,它在方法中使用:

代码语言:javascript
代码运行次数:0
运行
复制
public static <T> HashSet<ConstraintViolation<T>> validate(Validator validator, T resource, Class<?>... groups) {
    return (HashSet<ConstraintViolation<T>>) validator.validate(resource, groups);
}

像这样叫:

代码语言:javascript
代码运行次数:0
运行
复制
HashSet<ConstraintViolation<EntryDTO>> l = ValidationTools.validate(this.validator, entryDTO);

这是否意味着“团体”是有选择的?我发现了一个有趣的话题:What does Class mean in Java?,但它并没有真正回答我的问题.

谢谢你的回答

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-19 13:58:03

您所链接到的第一个答案正确地告诉您Class<?>是什么意思。...称为varargs,表示0或多个参数。因此,参数Class<?>...是指任意类型类的任意数量的参数。

有关varargs的更多信息,请参见https://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html

票数 1
EN

Stack Overflow用户

发布于 2014-11-19 13:56:25

这与Class<?>无关。最后的三个点意味着最后的论点是一个varargs的论点。

有关更多信息,请查看Java文档这个StackOverflow的答案

票数 3
EN

Stack Overflow用户

发布于 2014-11-19 14:08:59

Class意味着这个变量是任何类型的类对象。这三个点意味着您可以在方法调用中传递任意数量的参数。

因此,这都是对ValidationTools.validate方法的有效调用:

代码语言:javascript
代码运行次数:0
运行
复制
ValidationTools.validate(this.validator, entryDTO);
ValidationTools.validate(this.validator, entryDTO, myString.getClass());
ValidationTools.validate(this.validator, entryDTO, myString.getClass(), myInteger.getClass());

以此类推,具有任意数量的类参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27018591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档