美文网首页
java泛型

java泛型

作者: onweer | 来源:发表于2016-02-06 23:44 被阅读11次

    泛型

    • 作用:强制类型检查

    自定义泛型

    public static void main(String[] args) {
            Integer i = print(1); // <Integer> Integer com.lee.DiyGenericity.print(Integer t)
            String s = print("First"); // <String> String com.lee.DiyGenericity.print(String t)
    
        }
    
        // 自定义泛型
        // 格式: 修饰符 <自定义泛型声明> 类型 方法名(参数列表)
        // T只是一个占位符而已 
        public static <T> T print(T t) {
            // 返回类型是在传入实参的时候确定
            return t;
        }
    

    泛型类

    class MyList<T>{
        ArrayList<T>[] tArr = new ArrayList[5];
        
        int index = 0;
        public MyList() {
            
        }
        public void add(T t){
            tArr[index++] = (ArrayList<T>) t;
        }
    }
    

    泛型接口

    interface UserDao<T>{
        public void add(T t);
        public void remove(T t);
    }
    // 在接口上定义的泛型,在实现该接口的时候指定
    // 如果没有指定,默认是Object类型
    class UserDaoImpl implements UserDao<String>{
        @Override
        public void add(String t) {}
        @Override
        public void remove(String t) {}
    }
    
    // 如果想在创建接口实现类对象的时候才指定自定义泛型的具体数据类型
    // 版本2   
    class UserDaoImpl<T> implements UserDao<T>{
        @Override
        public void add(T t){}
        @Override
        public void remove(T t) {}
    }
    // 参见Collection<E>接口的使用 迭代器接口Iterable<E>
    

    给个github follow me的链接,上面有很多初学者可供学习的资料,项目.

    <a>https://github.com/SuperZee</a>

    相关文章

      网友评论

          本文标题:java泛型

          本文链接:https://www.haomeiwen.com/subject/pnrykttx.html