首页编程java编程java中泛型的使用,学会java泛型能做什么

java中泛型的使用,学会java泛型能做什么

编程之家2026-05-22841次浏览

大家好,今天小编来为大家解答以下的问题,关于java中泛型的使用,学会java泛型能做什么这个很多人还不知道,现在让我们一起来看看吧!

java中泛型的使用,学会java泛型能做什么

java中什么是泛型,怎么用泛型

这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中:

1:什么是泛型?

泛型就是广泛的类型,也是一种数据类型,而这种数据类型可以是任意类型,编写过程中当中不能确定类型,创建对象时必须指定具体类型,不指定也可以,但是会出现一些错误。

泛型是编译器行为,只能在编译期有效,如果能够跨过编译器,那么泛型就没有任何意义了。

2、泛型类

怎么定义泛型类?

java中泛型的使用,学会java泛型能做什么

在类后面加<>,<>中可以编写任意长度任意字符,不能是数值。(一般用26个大写英文字母表示)

泛型类<具体类型>变量名= new泛型类<>();

3.怎么使用泛型

有以下几种使用场景以及放在那种位置

泛型只能定义引用数据类型,而不能使用基本数据类型

泛型类、泛型方法、泛型接口、泛型通配符

java中泛型的使用,学会java泛型能做什么

例如:作用在类上时( public class Animal<E>{ E pet;}),泛型跟在类后边,可以指定用了泛型的类内部的 pet的类型。

作用在对象上时( Animal<Dog> str= new Animal<Dog>();),泛型跟在类后边,使得对象类的的 pet属性为 Dog类型。

java泛型的作用,举例说明!

简言之,泛型是为了避免类转换异常的发生,使程序操作更安全,举例:

1、声明泛型:

class Point<T>{

private T var;

public T getVar(){

return var;

}

public void setVar(T var){

this.var=var;

}

}

2、使用Point类将var的类型设置成整数

public class Test{

public static void maint(String[] args){

Point<Integer> p=new Point<Integer>();//var类型为Integer

p.setVar(30);//设置数字,自动装箱

System.out.println(p.getVar()* 2);

}

}

3、运行:60

分析:使用泛型强制类型为某类型,比如上面为Integer,在使用setVar()方法时如果参数不是Integer(如String),程序就会报错,提示输入非法。当然你认为也可以不用泛型,比如将Point定义如下:

class Point1{

private Object var;

public Object getVar(){

return var;

}

public void setVar(Object var){

this.var=var;

}

}

此时,Test程序依然可以运行,但是如果将Test改动如下:

public class Test{

public static void maint(String[] args){

Point1 p=new Point1();

p.setVar(“江山美人");

System.out.println(p.getVar()* 2);

}

}

程序编写正常,不会报错,但到了运行才提示异常。而如果上面是应用泛型,在写下System.out.println(p.getVar()* 2);直接就会在写程序时提示错误!

这样就达到了使用泛型的目的——避免类转换异常的发生,使程序操作更安全。

希望能帮到你!

java中泛型指的是什么

我来简述一下泛型的知识吧:

如果一个类的后面跟上一个尖括号,表示这个类是泛型类.

可以这样声明:class名称<泛型列表>

如:class A<E>

其中A是泛型类的名称,E是泛型.(可以是任何对象或接口)

其中给出的泛型可以作为类的成员变量的类型,方法的类型以及局部变量的类型.类体和变通类完全一样,由成员变量和方法构成.

举个例子:

class Chorus<E,F>

{

void makeChorus(E person,F yueqi)

{

yueqi.toString();

person.toString();

}

}

--------------

上面的类中将类E和类F作为类Chorus的一部分来使用.这就是泛型类的目的,将多个类包含进一个类来使用!!!

如果你想深入理解就可以找一些书来看,一些基本的教材里面也都有提到泛型的.

希望我说的对你有所帮助!!!

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

ai写作文会被发现吗 AI写作文会被发现吗源码之家打不开(源码论坛)