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

镜像网站能否做google排名网站推广的常用方法

镜像网站能否做google排名,网站推广的常用方法,个人博客网站模板下载,北航电子信息工程学院研招网Java泛型的局限和使用经验 泛型的局限 任何基本类型不能作为类型参数 经过类型擦除后,List中包含的实际上还是Object的域,而在Java类型系统中Object和基本类型是两套体系,需要通过“自动装包、拆包机制”来进行交互。 2.任何在运行时需要…

Java泛型的局限和使用经验

泛型的局限

  1. 任何基本类型不能作为类型参数

经过类型擦除后,List中包含的实际上还是Object的域,而在Java类型系统中Object和基本类型是两套体系,需要通过“自动装包、拆包机制”来进行交互。

2.任何在运行时需要知道确切类型信息的操作都无法工作。

由于Java的泛型是编译期泛型(在进入运行时后没有泛型的概念),因此运行时的类型转换和类型判定等操作都没有效果。

3.冲突1:方法名一样,参数列表是同一个类型参数的两个泛型方法,重载将产生相同的函数签名;

在泛型擦除后,这两个方法签名完全相同,产生冲突;

4.冲突2:使用泛型接口时,需要避免重复实现同一个接口

5.不能在静态域或方法中引用类型参数

在方法的签名里多了一个static关键字,然后引发编译错误的原因就变成了:在静态域中无法引用类型变量

泛型的常用经验

  1. 尽量消除异常,初学者容易写出使用原生类型的代码,或者使用泛型不当的代码,现在编辑器非常先进,尽量消除提示的异常;对于开发者自己确认不需要消除切可以工作的代码,可以使用@SuppressWarnings("unchecked")屏蔽掉异常;
  2. 能用泛型类(或接口)的时候尽量使用;能用泛型方法的时候尽量使用泛型方法;
  3. 定义API时,尽量使用泛型;


 泛型的概述
泛型:参数化类型

类型形参:<T>,<E>,<K>,<V>,<U>,<R>。。。。

类型实参:必须是引用数据类型,不能是基本数据类型

       <String>,<Integer>,<Student>,<ArrayList<String>>……

形式一:泛型类与泛型接口
1、声明语法格式:

【修饰符】 class 类名/接口<类型形参列表>{   
 
}​
 
【修饰符】 class 类名/接口<类型形参1 extends 父类上限>{   
 
}
 
【修饰符】 class 类名/接口<类型形参1 extends 父类上限 & 父接口上限>{   
 
}
在类名或接口名后面声明的泛型形参类型,可以在当前类或接口中使用,用作声明成员变量、方法的形参、方法的返回值。

但是不能用于静态成员上

2、使用语法格式

在(1)创建泛型类、泛型接口的对象时,为泛型形参指定具体类型

       (2)在继承泛型类或实现泛型接口时,为泛型形参指定具体类型

示例代码

ArrayList<String> list = new ArrayList<String>();
 
ArrayList<String> list = new ArrayList<>();//JDK1.7之后可以省略
 
​class MyStringArrayList extends ArrayList<String>{
 
}​
 
class Employee implements Comparable<Employee>{
 
   public int compareTo(Employee e){       
 
  }
 
}​
 
Arrays.sort(数组,  new  Comparator<泛型实参>(){
 
   public int compare(泛型实参类型  o1, 泛型实参类型  o2){       
 
  }
 
});

3、泛型如果没有指定,会被擦除,按照最左边的上限处理,如果没有指定上限,按照Object处理

形式二:泛型方法
1、声明的语法格式

【修饰符】 <泛型形参列表> 返回值类型 方法名(【数据形参列表】)【throws 异常列表】{}

【修饰符】 <泛型形参 extends 父类上限 & 父接口上限> 返回值类型 方法名(【数据形参列表】)【throws 异常列表】{}
(1)在方法返回值类型前面声明的泛型形参类型,只能在当前方法中使用,用于表示形参的类型或返回值类型,或方法局部变量的类型,和别的方法无关。

(2)泛型方法可以是静态方法,也可以是非静态方法

2、 使用

当调用方法,会根据具体的数据的实参的类型,来确定泛型实参的类型。

通配符?
(1)?:代表任意引用数据类型

(2)? extends 上限:代表上限本身或它的子类

(3)? super 下限:代表下限本身或它的父类

例如:

ArrayList<?>:表示可以接受任意类型

ArrayList<?> list = new ArrayList<String>();
 
ArrayList<?> list = new ArrayList<Integer>();
 
ArrayList<?> list = new ArrayList<Animal>();
ArrayList<? extends 上限>:

ArrayList<? extends Person> list = new ArrayList<Person>();
 
ArrayList<? extends Person> list = new ArrayList<Animal>();//Animal不行,因为Animal是父类
 
ArrayList<? extends Person> list = new ArrayList<Student>();
 
ArrayList<? extends Person> list = new ArrayList<Dog>();//Dog也不行
ArrayList<? super 下限>:

ArrayList<? super Person> list = new ArrayList<Person>();
 
ArrayList<? super Person> list = new ArrayList<Animal>();
 
ArrayList<? super Person> list = new ArrayList<Student>();//Student,因为Student是子类
 
ArrayList<? super Person> list = new ArrayList<Dog>();//Dog也不行
ArrayList<?>:不能添加元素,除了null

ArrayList<? extends 上限>:不能添加元素,除了null

ArrayList<? super 下限>:可以添加下限或下限子类的对象

 Collections工具类
java.util.Collections:工具类,操作集合

(1)public static <T> boolean addAll(Collection<? super T> c, T... elements)

添加elements的几个对象到c集合中。T是elements对象的类型,要求Collection集合的元素类型必须是T或T的父类

(2)public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key)

在list集合中用二分查找key的下标,如果存在返回的是合理的下标,如果不存在返回的是一个负数下标

T是元素的类型,

<? extends Comparable<? super T>>,要求集合的元素必须实现Comparable接口

<? super T>,在实现Comparable接口,可以指定Comparable<类型实参>为T或T的父类。

(3)public static boolean disjoint(Collection<?> c1, Collection<?> c2)

判断c1和c2没有交集就为true

(4)public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)

求coll集合中最大元素

<T extends Object & Comparable<? super T>>:要求T或T的父类实现Comparable接口

(5)public static <T extends Comparable<? super T>> void sort(List<T> list) 给list集合排序

<T extends Comparable<? super T>>:要求T或T的父类实现Comparable接口

(6)public static <T> Collection<T> synchronizedCollection(Collection<T> c)

以synchronizedXX开头的方法,表示把某种非线程安全集合转为一个线程安全的集合。

(7)public static <T> List<T> unmodifiableList(List<? extends T> list)

http://www.dinnco.com/news/63287.html

相关文章:

  • 旅游网站开发目的和意义百度竞价推广的技巧
  • 做暧暖免费观看网站种子搜索神器
  • 做网站app怎么赚钱成都网站seo推广
  • 免费的行情网站下载安装百度怎么进入官方网站
  • 做直播网站用什么系统网站整站优化推广方案
  • 少主网络建站站内优化怎么做
  • 优秀ppt案例欣赏seo是什么意思网络用语
  • 网站如何做才能被360收录网站优化seo培训
  • 网站什么内容常用的网络营销平台有哪些
  • cpa推广app赚钱联盟平台网站外链的优化方法
  • 泉州网站建设价钱济南seo网络优化公司
  • 做羞羞的事情的网站竞价网络推广托管
  • 门户网站备案临沂seo推广
  • 深圳做网站得外包公司推广普通话的内容
  • 大学路网站建设写一篇软文多少钱
  • ppt的网站导航栏怎么做小区推广最有效的方式
  • b2c模式的网站有哪些搜索引擎优化百度
  • 网站的通栏怎么做百度收录刷排名
  • html5手机移动app网站制作教程长沙百度网站排名优化
  • 河南郑州网站建设哪家公司好专门开发小程序的公司
  • 什么做自己的网站,应招聘人才河南网站排名
  • 泰安房产网新楼盘快速排名软件seo系统
  • 装修设计费多少钱一平seo入门教程视频
  • 自己怎做网站北京专门做seo
  • wordpress url index.php茶叶seo网站推广与优化方案
  • 平面设计与网站开发的概述关键词挖掘爱网站
  • 深圳市网站哪家做的好百度一下百度搜索入口
  • seo引擎优化是什株洲seo优化公司
  • 028网站建设工作室企业网站模板建站
  • 美工好的网站fifa世界排名最新