Java 泛型的使用
本文旨在为完全不懂泛型,但是感觉泛型很神奇,想试一试的小伙伴使用,没有过于深入挖掘原理,文章相对肤浅。不喜勿喷哦。
一、类 泛型使用
泛型类必须为引用类型的
代码格式
public class TestTwo<T> { private T t; public T getT() { return t; } public void setT(T t) { this.t = t; } }
使用类
public static void main(String[] args) { TestTwo<String> stringTest = new TestTwo<>(); stringTest.setT("中国"); System.out.println(stringTest.getT()); TestTwo<Integer> integerTest = new TestTwo<>(); integerTest.setT(1); System.out.println(integerTest.getT()); }
当泛型传入什么类型,则可以处理什么类型数据
二、泛型方法使用
泛型方法的写法:
public class TestTwo { public <T> void show(T t) { System.out.println("泛型方法传入数据:" + t); } }
泛型方法使用:
public static void main(String[] args) { TestTwo testTwo = new TestTwo(); testTwo.show("China"); testTwo.show(1); }
运行结果:
三、泛型接口
泛型接口写法:
public interface TestTwo<T> { public abstract void test(T t); }
泛型实现方式:
static class TestImpl<T> implements TestTwo<T> { @Override public void test(T t) { System.out.println(t); } }
泛型接口使用:
public static void main(String[] args) { TestImpl<String> testTwo = new TestImpl<String>(); testTwo.test("泛型测试接口"); }
运行结果:
四、泛型通配符的使用
泛型通配符有三种
1)、<?> 任意通配符
2)、? extends E 向下限定 ,E及其子类
3)、? super E 向上限定 ,E及其父类
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java String StringBuilder StringBuffer
开篇 看了源码之后会发现有关java的String知识点面试的确很无聊,但凡看过代码的基本上都知道,所以我们去面试别人就用这个去面试别人就是为了验证别人有没有看过源码? String源码分析 String通过char value[]的字符数组来保存数据。 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final char value[]; /** Cache the hash code for the string */ private int hash; // Default to 0 private static final long serialVersionUID = -6849794470754667710L; private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0]; public ...
- 下一篇
《Python编程:从入门到实践》 第7章习题
#7-1汽车租赁:编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息, #如“LetmeseeifIcanfindyouaSubaru”。 car = input() print("Let me see if I can find you a" + car + ".") #7-2 餐馆订位:编写一个程序,询问用户有多少人用餐。如果超过8人,就打印一条消息, #指出没有空桌;否则指出有空桌。 message = int(input("请问您们用餐的有几位?")) if message > 8: print("抱歉,8个位置以上的位置没有空余的了。") elif message <= 0: print("就餐人数不能少于一个人。") else: print("您好,还有位置。") #7-3 10的整数倍:让用户输入一个数字,并指出这个数字是否是10的整数倍。 number = int(input("输入一个数字,我会告诉您,这个数字是否是10的倍数")) if number%10 == 0: print("太棒了!您输入的数字是" + str(number) + ",它是...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题