请问Class是作什么用的。

hz890 2012-10-09 04:10:12
工作需要,目前刚刚开始接触Java,在使用JDBC时,又看到CallableStatement对象下有getObject(String parameterName, Map<String, Class<?>> map)方法。
现在不明白Class<?>是作什么用的,为什么要在Class后使用<?>呀!
这个问号表示什么意思?

多谢各位帮忙啦!
...全文
9276 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mw_123456 2015-06-25
  • 打赏
  • 举报
回复
code123code 2014-06-06
  • 打赏
  • 举报
回复
u010161779 2013-12-08
  • 打赏
  • 举报
回复
没错,就是楼上说得正确
pkjjun2012 2012-10-10
  • 打赏
  • 举报
回复 1
Class类一般用于反射,<>表示泛型 ?表示通配符
lqg2608205 2012-10-10
  • 打赏
  • 举报
回复
楼上说的很对!
zhaoming262350 2012-10-09
  • 打赏
  • 举报
回复
java.lang
类 Class<T>
java.lang.Object
java.lang.Class<T>
类型参数:
T - 由此 Class 对象建模的类的类型。例如,String.class 的类型是 Class<String>。如果将被建模的类未知,则使用 Class<?>。
zhaoming262350 2012-10-09
  • 打赏
  • 举报
回复
public final class Class<T>extends Objectimplements Serializable, GenericDeclaration, Type, AnnotatedElementClass 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。

Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。

以下示例使用 Class 对象来显示对象的类名:


void printClassName(Object obj) {
System.out.println("The class of " + obj +
" is " + obj.getClass().getName());
}
还可以使用一个类字面值(JLS Section 15.8.2)来获取指定类型(或 void)的 Class 对象。例如:


System.out.println("The name of class Foo is: "+Foo.class.getName());
ddplayer12 2012-10-09
  • 打赏
  • 举报
回复
泛型的参数类型还可以是通配符类型。
例如Class<?> classType = Class.forName("java.lang.String");
“?”代表未知类型
油闷小茄子 2012-10-09
  • 打赏
  • 举报
回复
建议你看一下泛型
liangtu 2012-10-09
  • 打赏
  • 举报
回复
有些容器可以放任何对象,比如List,但是再取的时候需要做类型转换。如果在声明的时候,指定类型,那么取的时候就不需要做类型强转了。

List<User> list = new ArrayList<User>();
liangtu 2012-10-09
  • 打赏
  • 举报
回复
泛型,表示某一类的Object。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧