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

门户型网站百度客户端电脑版

门户型网站,百度客户端电脑版,严什么的烟 网站建设,怎么用网站做远控1.泛型的概念 所谓泛型#xff0c;就是允许在定义类, 接口 时通过一个标识表示类中某个属性的类型或者某个方法的返回值或形参类型.这个类型参数将在使用时确定. 2.举例 (1). 集合类在设计阶段/声明阶段不能确定这个容器到底存的是什么对象#xff0c;所以在JDK…1.泛型的概念 所谓泛型就是允许在定义类, 接口 时通过一个标识表示类中某个属性的类型或者某个方法的返回值或形参类型.这个类型参数将在使用时确定. 2.举例 (1). 集合类在设计阶段/声明阶段不能确定这个容器到底存的是什么对象所以在JDK5.0版本以前只能把元素类型设计为Object类.JDK5.0时java引入了参数化类型的概念允许我们在创建集合时指定集合元素的类型.(如ListString表示该List只能存放String类型的数据.) 使用集合存储数据时除了元素的类型不确定其他部分都是确定的. (2). java.lang.Comparable接口和java.util.Comparator接口是用于比较对象大小的接口.这两个接口只是限制了当一个对象大于另一个对象时返回正整数等于返回0否则返回负整数.但并不确定是什么类型的对象比较大小.jdk5.0之前只能用Object类型表示即麻烦(可能需要强制类型转换)又不安全(可能比较的两个对象并不是同一类型).故jdk5.0给它们增加了泛型. 3.集合在未使用泛型前可能存在的问题 类型不安全.add(Object obj)形参类型是Object意味着任何类型的对象都可以被放入到集合中.需要强转操作繁琐.还可能出现异常. 4.使用说明 (1). 我们在声明完自定义泛型类后可以在类的内部(如属性构造器方法)使用类的泛型. public class OrderT{//泛型类T t;//属性public Order() {}public Order(T t) {//构造器this.t t;}public T show() {return t;//方法} }(2). 我们在创建自定义泛型类的对象时可以指明泛型参数类型.一旦指明内部凡是使用类的泛型参数的位置都具体化为指定的类的泛型类型. (3). 如果在创建自定义泛型类的对象时没有指明泛型参数类型那么泛型将被擦除泛型对应的类型都按照Object处理,但不等价于Object. 下列是ArrayList的源码也涉及到了泛型. (4). 泛型的指定类型必须使用引用数据类型不能使用基本数据类型此时只能使用包装类. Orderint o new Order();//错    OrderInteger o new Order();//正确 (5). 除了创建泛型类的对象外子类继承泛型类时实现类实现泛型接口时也可以确定泛型结构的泛型参数.如果我们在给泛型提供子类时子类也不确定泛型的类型则继续可以使用泛型参数我们还可以在现有父类的泛型参数的基础上新增泛型参数. public class SubOrderT1, T2 extends OrderString{T1 data1;T2 data2; } 5.注意事项 (1). 泛型类可能有多个参数可以将多个参数都放到尖括号内如(T1, T2, T3). (2). 从jdk7.0开始可以简化泛型操作 :  OrderString o new OrderString();//以前 OrderString o new Order()//jdk7.0之后. (3). 如果泛型结构是一个接口或抽象类则不可以创建对象.//这里其实是接口/抽象类的性质. (4). 不能使用new T[](因为此时new对象的时候并不知道T的类型所以无法为其分配内存)但可以使用 T[] element (T[]) new Object[10];//强制类型转换 (5). 在类/接口上声明的泛型在本类或本接口中代表某种类型但不可以在静态方法中使用泛型.(原因也很简单因为静态方法随着类的加载而加载而泛型的类型等到创建对象时才能确定此时泛型的类型还是未知的) (6). 异常类是不可以带泛型的. 6.泛型方法 这些并不是泛型方法因为此时的T是泛型类的泛型参数. //这些都不是泛型方法 public T method3() {//方法体 } public void method4(T t) {//方法体 } 正确写法 权限修饰符 E 返回值类型 method(参数列表){ //方法体 //E表明E是泛型方法的泛型参数. } 例 :  public class GenericityMethhodTestT {public static E void method1(E[] e, int a, int b) {E temp;temp e[a];e[a] e[b];e[b] temp;}public static E void method2(E[] e) {int j e.length - 1;for (int i 0; i (e.length) / 2; i) {E temp;temp e[i];e[i] e[j];e[j] temp;j--;}}public static void main(String[] args) {Integer[] array {1, 2, 3, 4, 5};method1(array, 0, 4);for (Integer i : array) {System.out.println(i);}System.out.println(******************);method2(array);for (Integer i : array) {System.out.println(i);}}}说明 :  声明泛型方法时一定要添加泛型参数E.泛型方法在调用时需要指明其具体的类型.泛型类型是可以根据需要来声明为static.则需要在通过类调用该静态方法时指明泛型参数类型.泛型方法所属的类是否是一个泛型类其实都可以因为可能泛型方法的泛型参数与泛型类的泛型参数并不一样.
http://www.pierceye.com/news/267999/

相关文章:

  • 网站建设合同管辖地广州敏城建设工程有限公司网站
  • 班级网站主页设计模板购买网站域名空间
  • 做响应式网站最大宽度景观设计公司起名
  • 有小广告的网站适合40岁女人的培训班
  • html5网站建设有什么网站用名字做图片
  • 合肥珍岛公司做网站推广怎么样关键词排名优化如何
  • 做讲课ppt的网站郑州市建设局官方网站
  • 邢台集团网站建设报价免费推广网站有哪些
  • 龙华网站建设营销推广广东东莞区号
  • 徐汇网站开发培训企业建网站报价
  • 专业网站建设公司兴田德润信任高建设高端网站公司哪家好
  • 烟台网站建设优惠臻动传媒做网站怎么挣钱
  • 重庆网站建设mlfartwordpress4 中文
  • 永州建设企业网站阿里云 网站部署
  • 学校做网站难吗创新logo设计
  • 国内用python做的网站如何做网站讯息
  • 的网站开发工具有哪些免费制作永久企业网站
  • 网站举报查询一个网站开发的权限
  • 简约网站程序海南网络广播电视台少儿频道
  • 深圳高端品牌网站设计wordpress 树形主题
  • 怎么自己创建一个网站国外企业网络研究
  • 去百度建网站北京企业网站设计公司
  • mysql 收费 网站建设wordpress主题后台不显示
  • 网站cname解析陕西住房建设厅考试官方网站
  • 网站建设有关书籍设计制作散发寄递
  • 威海建设信息网站织梦网站广告代码如何写
  • 玉林市网站开发公司wordpress tag静态化
  • 广州网站建设建航科技百度域名书写
  • 免费做网站安全吗网站不备案可以访问吗
  • 网上做网站兼职最近10条重大新闻