【发布时间】:2012-11-28 08:48:31
【问题描述】:
您好,我在调试时遇到了这个类,请有人给我指点它的含义。谢谢。
class Something<P>{
private P someVariable;
}
//what does <P> mean here?
谢谢。
【问题讨论】:
标签: java generics class-template
您好,我在调试时遇到了这个类,请有人给我指点它的含义。谢谢。
class Something<P>{
private P someVariable;
}
//what does <P> mean here?
谢谢。
【问题讨论】:
标签: java generics class-template
【讨论】:
这意味着它是一个泛型类。 您可以通过更改代码来创建泛型类型声明
"public class Box" to "public class Box<T>"
有关更多信息,您可以查看此参考: http://docs.oracle.com/javase/tutorial/java/generics/types.html
【讨论】:
这是一个类模板的例子(尽管它在运行时被删除)。通常是类而不是类
。它允许您在编译时将类型注入到类中。
例如,如果你这样做了
new Something<String>();
那么 someVariable 将是 String 类型。
如果你打电话
new Something();
那么我相信 someVariable 将是 Object 类型,因为它没有推断的类型信息。通常你的 IDE 会给你一个警告。
它也被描述为here。
【讨论】:
P 是用于泛型的类型。
通常是T,或TEntity,用于类型或实体类型。
只需将ArrayList<string> 视为类型为string 的示例。
【讨论】:
这是一个通用类定义。 <P> 是在编译时被替换的对象的占位符。
【讨论】: