泛型(genericity)
来源:互联网 发布:阿里云备案幕布尺寸 编辑:程序博客网 时间:2024/05/25 18:09
泛型(genericity)
自定义泛型方法
自定义泛型方法格式:
修饰符 <声明自定义泛型>返回值类型 函数名(形参列表..){}
注意事项:
- 自定义泛型方法的数据类型是在调用该方法时传入实参时确定的
- 自定义泛型使用的标识符
例子:
//需求:定义一个函数,实现可以接受任意类型的行参,要求返回类型与实参类型保持一致public class Demo { public static void main(String[] args) { Integer i = print(12); String str = print("hi java"); } //自定义范型方法 public static <T>T print(T t){ return t; }}
自定义泛型类
自定义泛型类格式:
class 类名<声明自定义的泛型>{}
注意事项:
- 自定义泛型类的数据类型是在创建对象的时候指定的
- 自定义泛型类的数据类型,如果在创建对象的时候没有指定,那么默认是Object类型
举例:
//自定义泛型类MyCollectionclass MyCollection<T>{ Object[] arr = new Object[10]; int index = 0; public MyCollection() { } public void add(T t){ arr[index++] = t; } @Override public String toString() { StringBuilder sb = new StringBuilder(); for (Object t : arr) { if(t != null){ sb.append(t); sb.append(", "); } } return sb.toString(); }}public class Demo2 { public static void main(String[] args) { //创建对象的时候没有指定类型 MyCollection collection = new MyCollection(); collection.add("java"); collection.add(1223); collection.add(23.21); System.out.println("---->"+collection); //创建对象的时候指定了String类型 MyCollection<String> col = new MyCollection<String>(); col.add("abc"); }}
自定义泛型接口
自定义泛型接口格式:
interface 接口名<声明自定义的泛型>{}
注意事项:
- 在接口上自定义泛型的具体数据类型是在实现该接口的时候指定的。
- 如果一个接口自定义了泛型,在实现该接口的时候没有指定具体的数据类型,那么默认是Object数据类型。
举例:
//自定义接口泛型interface Dao<T>{ public void add(T t); public void removep(T t);}//实现时没有指定具体数据类型public class Demo3<T> implements Dao<T>{ public static void main(String[] args) { } @Override public void add(T t) { // TODO Auto-generated method stub } @Override public void removep(T t) { // TODO Auto-generated method stub }}//实现时指定具体数据类型是Stringclass MyClass implements Dao<String>{ @Override public void add(String t) { // TODO Auto-generated method stub } @Override public void removep(String t) { // TODO Auto-generated method stub }}
1 0
- 泛型(genericity)
- genericity(泛型)
- Genericity/STL 大系
- 学习笔记之genericity
- 侯捷书评【Genericity/STL 大系】
- The advance of Java -- Genericity, Exception, IO(Day04)
- 泛型,注解--知多少之一(泛型)
- 泛型:实施(Enforcements)
- 泛型:实施(Enforcements)
- Java:泛型(generic)
- 泛型(Generics)
- 泛型(generic)
- 泛型(generic)-下
- 泛型(Generics)大全
- JAVA泛型(DAO)
- (转帖)泛型
- (10)泛型
- (10)泛型
- 手机页面中如何创建1px宽度的间隔线
- LiveGiftShow-iOS直播弹幕效果(礼物连击)
- 圆形图片
- 【noip2016集训总结】
- 进程与线程及其区别
- 泛型(genericity)
- mysql 批量更新与批量更新多条记录的不同值实现方法
- NOIP赛前模拟总结
- Ant通配符
- 深入理解 RecyclerView 系列之一:ItemDecoration
- 第七篇 zabbix监控本机
- win10+vs2015编译osg 3.4.0
- ReactiveCocoa 中 RACSignal 是如何发送信号的
- From表单提交刷新页面?