A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴硕 中级黑马   /  2012-10-11 17:54  /  5170 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴硕 于 2012-10-11 19:23 编辑

如下创建一个Class引用:
Class c1 = null;    //会报一个警告:Class is a raw type. References to generic type Class<T> should be parameterized

如下创建一个Class引用:
Class<?> c2 = null;    //没有警告

从上两种方式看,是提醒编写者Class类有一个泛型,你最好加上泛型
但警告的第一句是Class is a raw type,这句不明白应该怎么翻译

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
java.lang
类 Class<T>
java.lang.Object
  java.lang.Class<T>
类型参数:
T - 由此 Class 对象建模的类的类型。例如,String.class 的类型是 Class<String>。如果将被建模的类未知,则使用 Class<?>。
所有已实现的接口:
Serializable, AnnotatedElement, GenericDeclaration, Type

这是从API中找到的

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
没有指定泛型导致的警告,像List  Set 等等如果不指明都会有警告~~如果实在看警告不舒服~

Class<? extends Object>  class1

这样写~~

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
汉语意思是:“Class类是一个原始类型”。意思就是说它不是个具体类型,定义它时,最好给它定义指定具体类型。当然,也可以不用,只是个警告

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
创建一个Class引用如果不给泛型是可以的,我也赞同楼主的想法,警告只是提醒我们最好给一个泛型,如果没有给泛型,自我感觉默认的应该是class<?>=null;,Class is a raw type文字上面翻译是:类是一个原始类型,也就是说这个class是没有加工的,也是告诉程序员你没有给这个class声明泛型····

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 吴硕 于 2012-10-11 19:27 编辑
杨志男 发表于 2012-10-11 19:06
汉语意思是:“Class类是一个原始类型”。意思就是说它不是个具体类型,定义它时,最好给它定义指定具体类 ...

嗯,我体会到了一点
原始类型的意思就是本来最好被参数化的类型,而没有参数化之前的原始状态
回复 使用道具 举报
吴硕 中级黑马 2012-10-11 19:28:27
7#
沈佳龙 发表于 2012-10-11 19:17
创建一个Class引用如果不给泛型是可以的,我也赞同楼主的想法,警告只是提醒我们最好给一个泛型,如果没有 ...

是这个意思。谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马