本文目录一览:
JAVA中的泛型类是什么东西?
在Java SE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。 1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。3、泛型的类型参数可以有多个。4、泛型的参数类型可以使用extends语句,例如Textends superclass。习惯上成为“有界类型”。5、泛型的参数类型还可以是通配符类型。例如Class? classType =Class.forName(java.lang.String);
java中泛型指的是什么
我来简述一下泛型的知识吧:
如果一个类的后面跟上一个尖括号,表示这个类是泛型类.
可以这样声明:class 名称泛型列表
如:class AE
其中A是泛型类的名称,E是泛型.(可以是任何对象或接口)
其中给出的泛型可以作为类的成员变量的类型,方法的类型以及局部变量的类型.类体和变通类完全一样,由成员变量和方法构成.
举个例子:
class ChorusE,F
{
void makeChorus(E person,F yueqi)
{
yueqi.toString();
person.toString() ;
}
}
--------------
上面的类中将类E和类F作为类Chorus的一部分来使用.这就是泛型类的目的,将多个类包含进一个类来使用!!!
如果你想深入理解就可以找一些书来看,一些基本的教材里面也都有提到泛型的.
希望我说的对你有所帮助!!!
java中什么叫泛型?
泛型。规定了此集合中元素的类型。例如:
ArrayListInteger arr = new ArrayListInteger ();
这样就创建了一个包含整数的 ArrayList 对象。
如果要自己定义泛型类,就用如下形式:
class MyCollectionE {...}
尖括号中的类型可以有限制,例如你需要让 MyCollection 中的类型都具有可比性,可以用如下格式:
class MyCollectionE extends Comparable {...}
此外,要注意泛型的一些特性:
1. 不能直接创建泛型数组。如 new ArrayListInteger[5] 之类的是错的。只能用如下方法:new ArrayList[5] 或者 (ArrayListInteger[])new ArrayList[5];
2. 静态方法中需要小心,因为 E 一般是非静态类型,如果你这样写:
class MyCollectionE {
public static MyCollectionE abc() {
......
}
}
是错的。你只能把 E 去掉。
简述java常用3种泛型定义及其作用
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
定义泛型方法语法格式如下:
定义泛型方法时,必须在返回值前边加一个T,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。
ClassT的作用就是指明泛型的具体类型,而ClassT类型的变量c,可以用来创建泛型类的对象。
对java泛型的理解?
泛型的定义主要有以下两种:
在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)
在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板)
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
泛型只不过是java中的类型而已,继承自Type接口。