1楼:匿名用户
泛型(generic type 或者generics)是对 java 语言的类型系统的一种扩展,以支持创建可以按类型进行参
数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
可以在集合框架(collection framework)中看到泛型的动机。例如,map类允许您向一个map添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如string)的对象。
java里面使用泛型的优点
2楼:匿名用户
使用泛型之后,集合类取数据时就不需要对存储的数据进行强制类型转换。
也避免了一些异常的出现。
例如listlist=new arraylist();
list.add("123");
string str=list.get(0);
如果不适用泛型就是这样。
list list=new arraylist();
list.add(123);
string str=(string)list.get(0);
如果这样就会出现类型转换的异常。
java.lang.integer cannot be cast to java.lang.string
3楼:匿名用户
由于集合里面能放各种各样数据格式的数据, 使用泛型之后能限制放入的数据类型, 从而起到一定的控制作用!!!
4楼:永远不知终点
我觉得主要是有两点,第一点是用泛型写**比较容易,第二点是其类型比较安全。希望对你有所帮助。
java中为什么要使用泛型
5楼:匿名用户
public genericexample_2(string testattribute)
6楼:乘风偷月
使用泛型是为了编译时出现错误了能及时提醒。另外,也是限定要操作的对象类型。
如:listlist=new arraylist();它的操作对象就只能是string类型。
class dog{}
7楼:
java 语言中引入泛型是一个较大的功能增强。
泛型好处:
1,类型安全。 泛型的主要目标是提高 java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。
没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于**注释中)。
2,消除强制类型转换。 泛型的一个附带好处是,消除源**中的许多强制类型转换。这使得**更加可读,并且减少了出错机会。
3,潜在的性能收益。 泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。
但是更多类型信息可用于编译器这一事实,为未来版本的 jvm 的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 jvm 或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的**,更能确保类型安全。
java里面使用泛型有哪些优点?
8楼:匿名用户
使用泛型之后,集合类取数据时就不需要对存储的数据进行强制类型转换。
也避免了一些异常的出现。
例如listlist=new arraylist();
list.add("123");
string str=list.get(0);
如果不适用泛型就是这样。
list list=new arraylist();
list.add(123);
string str=(string)list.get(0);
如果这样就会出现类型转换的异常。
java.lang.integer cannot be cast to java.lang.string
java中的泛型是干嘛的,起到什么作用??什么情况下才能用到泛型??
9楼:20缔造者
泛型:规定了此集合中元素的类型。
例如:arraylistarr = new arraylist();
这样就创建了一个包含整数的 arraylist 对象。
如果要自己定义泛型类,就用如下形式:
class mycollection
尖括号中的类型可以有限制,例如你需要让 mycollection 中的类型都具有可比性,可以用如下格式:
class mycollection
10楼:小湿底
限制使用对象类型,起到程序编译时限制作用
java中集合泛型带来了什么好处
11楼:育知同创教育
首先,了解一下java关于泛型的概念。泛型,在c++中被
称为模板,就是一种抽象的编程方式。当我们定义类和方法的时候,可以用一种通用的方式进行定义,而不必写出具体的类,这些未知的东西会在真正使用的时候在确定。
对于集合类来说,它们可以存放各种类型的元素。如果在存放之前,就能确定元素的类型,那么就可以更加直观,也让**更加简洁。
为什么要用java泛型
12楼:育知同创教育
从上面的内容中,大家已经明白了泛型的具体运作过程。也知道了接口、类和方法也都可以使用泛型去定义,以及相应的使用。是的,在具体使用时,可以分为泛型接口、泛型类和泛型方法。
自定义泛型接口、泛型类和泛型方法与上述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集合框架中的泛型有什么优点
13楼:匿名用户
你把方法写成泛型,这样就不用针对不同的数据类型(比如int,double,float)分别写方法,只要写一个方法就可以了,提高了**的复用性,减少了工作量。 希望采纳。
请问,java泛型可以做什么,Java里泛型有什么作用?我怎么觉得那个可写可不写
1楼 gta小鸡 复用一个类或方法,使之可以用于不同的参数类型上。 2楼 l旧梦颜 listlist new arraylist 有了泛型,list里面可以装各种类型的对象,而不只是单一的 java里泛型有什么作用?我怎么觉得那个可写可不写 3楼 匿名用户 举个例子来说 你的钱包里你规定只装钱 那么...