• java 集合重要概念(简单了解泛型)


    1:泛型

    泛型:可以理解为未知的数据型   重点理解:类<T>   这个<T>就好比如  是 “类”的别名!!!!!!

    1-1 使用泛型方式创建集合

    创建集合是默认的类型为Object 弊端就是会出现想不到的异常 比如:一个object集合中 既放了狗 又放了 人 这个集合就不纯净了!

    List  list = new AarryList()  尽量不要这样去创建集合! ×××××××××   可能会在运行期间报异常!

    List<String> list = new ArrayList<String>();       这样会将异常从运行期提前到编译期,提早发现异常!

    类上使用泛型

    //泛型简单易懂的实例
    
    public class FanXingDemo<E> {
        private E name;
    
        public E getName() {
            return name;
        }
    
        public void setName(E name) {
            this.name = name;
        }
    }
    //测试代码

    public
    class TestDemo { public static void main(String[] args) { //设成为String类型 FanXingDemo<String> str = new FanXingDemo<String>(); str.setName("hello wo shi String"); System.out.println(str.getName()); //结果 hello wo shi String //设成为Integer类型 FanXingDemo<Integer> intt = new FanXingDemo<Integer>(); intt.setName(1111); System.out.println(intt.getName()); //结果1111 } }

    方法上的泛型使用

    //注意方法上使用泛型的语法: public <T> void/int/String/对象 方法名()      //静态的方法创建格式 public static<T> void/int/String/对象  方法名()
    
    public class FanXingDemo{
        //方法上使用泛型!
        public <T> void test(T t){
            System.out.println(t);
        }
    }
    
    //测试代码
           FanXingDemo f  = new FanXingDemo();
            f.test(1);  //可以是整型
            f.test("hello 我是字符串");  //可以是字符串
            f.test(new Baozi());   //可以是对象

    接口上使用泛型

    //第一种实现 实现接口时就实现
    //public class FanXingInterface_Impl implements FanXingInterface<String> {
    //    @Override
    //    public void getAll(String s) {
    //        
    //    }
    //}
    
    
    
    //第二种方式 由创建对象的时候去确定使用的类型 
    public class FanXingInterface_Impl<T> implements FanXingInterface<T>{
    
        @Override
        public void getAll(T t) {
            
        }
    }
    
    //测试代码
     //FanXingInterface_Impl<String> s = new FanXingInterface_Impl<String>();

    泛型的通配符 ? 注意!!只能作为方法的参数使用!!!!

    坚持
  • 相关阅读:
    MyEclipse 快捷键(转载)
    Microsoft .NET Framework 2.0安装失败
    数据库管理方面的电子书下载地址汇总
    增强MyEclipse的代码自动提示功能 (转载)
    有关Eclipse的自动完成&代码整理(摘)
    使用NewtonSoft.JSON.dll来序列化和发序列化对象(转载)
    hMailServer配置默认域名
    arcgis中的 style和serverstyle(转载)
    python function learning
    整理的设计模式博文列表
  • 原文地址:https://www.cnblogs.com/gaoSJ/p/12841859.html
Copyright © 2020-2023  润新知