当前位置: 首页 > news >正文

一般做网站用什么软件黑龙江省建设信息网

一般做网站用什么软件,黑龙江省建设信息网,那几家是做失物招领的网站,零食店网站构建策划报告什么是泛型 泛型是一种“代码模板”#xff0c;可以用一套代码套用各种类型。 在讲解什么是泛型之前#xff0c;我们先观察Java标准库提供的ArrayList#xff0c;它可以看作“可变长度”的数组#xff0c;因为用起来比数组更方便。 实际上ArrayList内部就是一个Object[]…什么是泛型 泛型是一种“代码模板”可以用一套代码套用各种类型。 在讲解什么是泛型之前我们先观察Java标准库提供的ArrayList它可以看作“可变长度”的数组因为用起来比数组更方便。 实际上ArrayList内部就是一个Object[]数组配合存储一个当前分配的长度就可以充当“可变数组” public class ArrayList {private Object[] array;private int size;public void add(Object e) {...}public void remove(int index) {...}public Object get(int index) {...} }如果用上述ArrayList存储String类型会有这么几个缺点 需要强制转型不方便易出错。 例如代码必须这么写 ArrayList list new ArrayList(); list.add(Hello); // 获取到Object必须强制转型为String: String first (String) list.get(0);很容易出现ClassCastException因为容易“误转型” list.add(new Integer(123)); // ERROR: ClassCastException: String second (String) list.get(1);要解决上述问题我们可以为String单独编写一种ArrayList public class StringArrayList {private String[] array;private int size;public void add(String e) {...}public void remove(int index) {...}public String get(int index) {...} }这样一来存入的必须是String取出的也一定是String不需要强制转型因为编译器会强制检查放入的类型 StringArrayList list new StringArrayList(); list.add(Hello); String first list.get(0); // 编译错误: 不允许放入非String类型: list.add(new Integer(123));问题暂时解决。 然而新的问题是如果要存储Integer还需要为Integer单独编写一种ArrayList public class IntegerArrayList {private Integer[] array;private int size;public void add(Integer e) {...}public void remove(int index) {...}public Integer get(int index) {...} }实际上还需要为其他所有class单独编写一种ArrayList LongArrayList DoubleArrayList PersonArrayList ...这是不可能的JDK的class就有上千个而且它还不知道其他人编写的class。 为了解决新的问题我们必须把ArrayList变成一种模板ArrayListT代码如下 public class ArrayListT {private T[] array;private int size;public void add(T e) {...}public void remove(int index) {...}public T get(int index) {...} }T可以是任何class。这样一来我们就实现了编写一次模版可以创建任意类型的ArrayList // 创建可以存储String的ArrayList: ArrayListString strList new ArrayListString(); // 创建可以存储Float的ArrayList: ArrayListFloat floatList new ArrayListFloat(); // 创建可以存储Person的ArrayList: ArrayListPerson personList new ArrayListPerson();因此泛型就是定义一种模板例如ArrayList然后在代码中为用到的类创建对应的ArrayList类型 ArrayListString strList new ArrayListString();由编译器针对类型作检查 strList.add(hello); // OK String s strList.get(0); // OK strList.add(new Integer(123)); // compile error! Integer n strList.get(0); // compile error!这样一来既实现了编写一次万能匹配又通过编译器保证了类型安全这就是泛型。 向上转型 在Java标准库中的ArrayListT实现了ListT接口它可以向上转型为ListT public class ArrayListT implements ListT {... }ListString list new ArrayListString();即类型ArrayListT可以向上转型为ListT。 要特别注意不能把ArrayListInteger向上转型为ArrayListNumber或ListNumber。 这是为什么呢假设ArrayListInteger可以向上转型为ArrayListNumber观察一下代码 // 创建ArrayListInteger类型 ArrayListInteger integerList new ArrayListInteger(); // 添加一个Integer integerList.add(new Integer(123)); // “向上转型”为ArrayListNumber ArrayListNumber numberList integerList; // 添加一个Float因为Float也是Number numberList.add(new Float(12.34)); // 从ArrayListInteger获取索引为1的元素即添加的Float Integer n integerList.get(1); // ClassCastException!我们把一个ArrayListInteger转型为ArrayListNumber类型后这个ArrayListNumber就可以接受Float类型因为Float是Number的子类。但是ArrayListNumber实际上和ArrayListInteger是同一个对象也就是ArrayListInteger类型它不可能接受Float类型 所以在获取Integer的时候将产生ClassCastException。 实际上编译器为了避免这种错误根本就不允许把ArrayListInteger转型为ArrayListNumber。 ArrayListInteger和ArrayListNumber两者完全没有继承关系。 小结 泛型就是编写模板代码来适应任意类型 泛型的好处是使用时不必对类型进行强制转换它通过编译器对类型进行检查 注意泛型的继承关系可以把ArrayListInteger向上转型为ListIntegerT不能变但不能把ArrayListInteger向上转型为ArrayListNumberT不能变成父类。
http://www.yayakq.cn/news/2666/

相关文章:

  • 郑州网站推广公司咨询wordpress游戏网站模板
  • 有没有给人做简历的网站网站界面设计 考虑因素
  • 网站设计O2O平台秦皇岛公司做网站
  • 下载建设网站软件樱桃电视剧西瓜视频在线观看
  • 昌平区手机网站制作服务百度站长网站提交
  • 餐饮商城网站制作多少钱事业单位网站建设注销情况说明
  • 知名做网站公司网站后台维护一般要怎么做
  • 水泥网站营销方案怎么做个人做的网站能备案吗
  • 广州网站建设公司嘉御北京做机床的公司网站
  • 网站设计风格怎么写网站可以跟博客做互链吗
  • 企业网站首页怎么优化做网站和管理系统
  • vue做网站前端专业网站开发公司地址
  • 菜鸟制作个人网站网页实例成都哪里做网站好
  • 南宁建设厅官方网站电商网页设计教程
  • 上线了怎么做网站wordpress简约新闻自媒体主题
  • 大型网站服务器多少钱南京奥体建设公司
  • 婚纱网站建设微信群杭州网站前端建设
  • 网站建设一般分为几个步骤旅游网页代码
  • 网站 系统设置东莞网站建
  • 四川做网站建设银行住房贷款网站
  • 商城网站建设哪个比较好做个什么网站
  • 上海网站推广专员需求北京seo关键词排名
  • 建筑设计规范网站唐山教育平台网站建设
  • 门户网站营销特点一级消防工程师考试地点
  • 如何查询网站被百度收录锦绣大地seo
  • weui做购物网站的案例深圳罗湖企业网站推广
  • 网站开发要会英语吗游戏推广在哪里接活
  • 后台更新的内容在网站上不显示wordpress主题结构
  • 盐山建网站cms+wordpress模板
  • o元做网站all import wordpress