首页 / JAVA / java-泛型(笔记)
java-泛型(笔记)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-泛型(笔记),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1677字,纯文字阅读大概需要3分钟。
内容图文
一、了解泛型
(一)、泛型概述
(二)、为什么要使用泛型
当我们没有指定集合元素数据类型时,他默认给的是Object类型,因为泛型默认是引用类型,而Object可以代表所有的引用类型
但是我们存入的是String类型,所以可以向下转型:
存入一个Integer型再输出就会报错,因为存入时候是Object类型,Object可以代表所有的引用类型,所以可以存入,但是遍历时候Integer不能强转为String,就会报错。
当然其实这样也不会报错
如果不使用泛型,会隐含类型转换异常
我们一般集合都存储单一类型元素
使用泛型可以把我们隐含的异常提前在编译时就产生并处理(将运行时异常提前到编译期)
并且使用泛型之后也不需要再加强制类型转换
二、泛型类
(一)、为什么使用泛型类
Teacher类中setAge是Integer型所以不能传人字符串型,如果想传人字符串型需要用泛型类
在这里T相当于一个参数
创建对象,传入什么类型T就是什么类型
三、泛型方法
没有提供对应方法就会报错
给一种数据类型方法调用就得有对应的类型方法
改进:
用泛型类:
但是每次创建对象需要写数据类型
可以在创建对象时候不明确类型,在调用方法时再明确数据类型
用泛型方法改进:
四、泛型接口
接口:
package generics;
public interface Generic<T>{
void show(T t);
}
实现类:
package generics;
public class GenericImpl <T> implements Generic<T>{
public void show(T t) {
System.out.println(t);
}
}
测试:
package generics;
public class GenericMethod {
public static void main(String[] args) {
Generic<String> s1=new GenericImpl<String>();
s1.show("shi");
}
}
五、类型通配符
代码演示:
六、可变参数
(一)、介绍
说明它把每一个参数的数据都封装到一个数组里了
那么求和就简单了
如果出现多个参数并且包含可变参数,要把可变参数放在最后
七、可变参数的使用
asList方法不支持添加删除,但是支持修改,因为它返回的是固定大小的列表
List的of方法不支持添加删除和修改,因为它返回的是不可变列表
Set的of方法不支持添加删除修改并且不能有重复元素
小结:
内容总结
以上是互联网集市为您收集整理的java-泛型(笔记)全部内容,希望文章能够帮你解决java-泛型(笔记)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。