java泛型是不是影响性能,Java泛型出错的具体区别 20

2021-01-10 15:36:56 字数 2571 阅读 7745

1楼:育知同创教育

泛型仅仅是java的语法糖,它不会影响java虚拟机生成的汇编**,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的**,所以网上说java用泛型比不用泛型速度慢7倍纯属无稽之谈,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的.

2楼:丁俊鼢

使用得当不影响,泛型是编译时的

java泛型出错的具体区别 20

3楼:安徽新华电脑专修学院

集合的泛型 你就当 这个泛型 代表 这个列表每行元素的内容。

假如是泛型放的是object,object是所有类的父类,所以可以放入所有类型的对象。

如果是integer 那么只能放入integer对象或者integer的子类对象

如果是string 同理。

4楼:fly事在人为

泛型内的类型不同导致的

java 使用泛型 为什么还要强转

5楼:育知同创教育

泛型方法public static t getelement(t obj),当你传入的参数为string i 时,此时的t就为string了,也就是方法可以理解为:public static string getelement(string obj)。

你直接这样调用就会编译失败了:string s1 = getelement(o);

6楼:匿名用户

举个具体的例子来说明一下~~

c#泛型和java泛型的区别

7楼:育知同创教育

泛型技术在c#和java之中的使用方式看似相同,但实现上却有着根本性的分歧,c#里面泛型无论在程序源码中、编译后的il中(intermediate language,中间语言,这时候泛型是一个占位符)或是运行期的clr中都是切实存在的,list与list就是两个不同的类型,它们在系统运行期生成,有自己的虚方法表和类型数据,这种实现称为类型膨胀,基于这种方法实现的泛型被称为真实泛型。

java语言中的泛型则不一样,它只在程序源码中存在,在编译后的字节码文件中,就已经被替换为原来的原始类型(raw type,也称为裸类型)了,并且在相应的地方插入了强制转型**,因此对于运行期的java语言来说,arraylist与arraylist就是同一个类。所以说泛型技术实际上是java语言的一颗语法糖,java语言中的泛型实现方法称为类型擦除,基于这种方法实现的泛型被称为伪泛型。

java泛型能这么限定么

8楼:深圳中宇视通科技****

public class a public a(double x) }

9楼:匿名用户

到底是怎么限定呢

~~~~~~~~

为什么要用java泛型

10楼:育知同创教育

从上面的内容中,大家已经明白了泛型的具体运作过程。也知道了接口、类和方法也都可以使用泛型去定义,以及相应的使用。是的,在具体使用时,可以分为泛型接口、泛型类和泛型方法。

自定义泛型接口、泛型类和泛型方法与上述java源码中的list、arraylist类似。如下,我们看一个最简单的泛型类和方法定义:

1 public class generictest 8 9 }10 11 class box18 19 public box(t data) 22 23 public t getdata() 26 27 }

在泛型接口、泛型类和泛型方法的定义过程中,我们常见的如t、e、k、v等形式的参数常用于表示泛型形参,由于接收来自外部使用时候传入的类型实参。那么对于不同传入的类型实参,生成的相应对象实例的类型是不是一样的呢?

1 public class generictest 13 14 }

由此,我们发现,在使用泛型类时,虽然传入了不同的泛型实参,但并没有真正意义上生成不同的类型,传入不同泛型实参的泛型类在内存上只有一个,即还是原来的最基本的类型(本实例中为box),当然,在逻辑上我们可以理解成多个不同的泛型类型。

究其原因,在于java中的泛型这一概念提出的目的,导致其只是作用于**编译阶段,在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦出,也就是说,成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进入到运行时阶段。

对此总结成一句话:泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。

java 泛型类和泛型方法的区别

11楼:好程序员

在java中

泛型类:是在实例化类的时候指明泛型的具体类型。

泛型方法:是在调用方法的时候指明泛型的具体类型。

定义泛型方法时:必须在返回值前边加一个,来声明这是一个泛型方法,持有一个泛型t,然后才可以用泛型t作为方法的返回值,泛型方法不是仅仅可以有一个参数class,可以根据需要添加其他参数。

定义泛型类时:class的作用就是指明泛型的具体类型,而class类型的变量c,可以用来创建泛型类的对象