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

wordpress安装及配置文件seo优化评论

wordpress安装及配置文件,seo优化评论,深圳做网站的爱情独白,手工做刀网站泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 Java的泛型是伪…

泛型

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,这也就是通常所说类型擦除 。泛型擦除

泛型一般有三种使用方式:泛型类、泛型接口、泛型方法。

public class Type<E>{}
public interface Interface<E> {}
public <E> E test(E e) {return e;
}

<? extends T>和<? super T>的区别 【了解】

分两种情况:

1. 作为容器时 【了解】

<? extends T>没有意义,只能存null

<? super T>可以放它本身和其子类类型,可以存null

public static void main(String[] args) {SuperMan man = new SuperMan();Person p = new Person("", 1);Student s = new Student("", 1);List<? extends Person> list = new ArrayList();
//		list.add(man);
//		list.add(p);
//		list.add(s);
//		list.add(1);list.add(null);List<? super Person> list1 = new ArrayList();
//		list1.add(new Object());
//		list1.add(man);list1.add(p);list1.add(s);list1.add(null);
//		list1.add(1);}
public class Person extends SuperMan implements Comparable{private String name;private int age;//省略部分代码}class Student extends Person{public Student(String name, int age) {super(name, age);}}class SuperMan {}

2. 作为方法参数时

<? extends T>支持其本身类型及其子类类型,也就是设置上限。

<? super T>支持本身类型及其父类类型,也就是设置下限。

public static void main(String[] args) {List<Object> listObj = new ArrayList();List<SuperMan> listMan = new ArrayList();List<Person> listPson = new ArrayList();List<Student> listStu = new ArrayList();// ? extends Person
//		test(listObj);
//		test(listMan);test(listPson);test(listStu);// ? super Persontest1(listObj);test1(listMan);test1(listPson);
//		test1(listStu);}public static void test(List<? extends Person> list) {}public static void test1(List<? super Person> list) {}

常用的通配符为: T,E,K,V,?通配符介绍

  • ? 表示不确定的 java 类型
  • T (type) 表示具体的一个java类型
  • K V (key value) 分别代表java键值中的Key Value
  • E (element) 代表Element

泛型的使用限制

1. 无法使用基本数据类型

List<int> list = new ArrayList<>(); // 编译时错误

2. 无法创建泛型参数类型的实例

public <E> void test(E e) {E e1 = new E(); // 编译时错误
}

但是可以通过反射来创建对象

public <E> void test(E e) {E e1 = e.getClass().newInstance();// 正确
}

3. 不能为static字段(属性)声明为泛型类型

class Test<T>{private static T name; // 编译错误private T age; // 正确
}

4. 无法使用泛型类型进行强制类型转换或者 instanceof

List<Integer> li = new ArrayList<>();
List<Number> ln = (List<Number>)li; //编译错误

除非使用无界符号(?)才可以强制转换

List<?> li = new ArrayList<>();
List<Number> ln = (List<Number>)li;
// 或者
List<Integer> li = new ArrayList<>();
List<?> ln = (List<?>)li;

在某种情况下,编译器知道泛型类型始终有效并允许强制类型转换

List<String> li = new ArrayList<>();
ArrayList<String> ln = (ArrayList<String>)li;

instanceof

public <E> void test(List<E> list) {if(list instanceof ArrayList<String>) {} //编译错误
}

运行时是不跟踪参数类型的,所以无法区分泛型类型。可以使用无界符号

public <E> void test(List<E> list) {if(list instanceof ArrayList<?>) {} //正确
}

5. 无法创建泛型类型的数组

List<String>[] lists = new ArrayList<String>[2]; //编译时错误

将不同类型元素插入到数组中:

Object[] objs = new String[2];
objs[0] = "s";
objs[1] = 1; // java.lang.ArrayStoreException

使用集合进行相同的操作

Object[] obs = new List<String>[2]; // 编译错误
obs[0] = new ArrayList<String>();
obs[1] = new ArrayList<Integer>();

6. 无法创建、捕获或者抛出泛型类型异常

泛型不能直接或间接扩展Throwable类。

class Ex<T> extends Exception{} // 编译错误
class Exc<T> extends Throwable{} // 编译错误

无法捕获泛型类型实例

public <T extends Exception> void test() {try {}catch(T t) { // 编译错误}
}

但是可以在throws子句中出现

public <T extends Exception> void test() throws T{}

7. 泛型擦除到原生类型的方法无法重载

​ 因为泛型擦除后,方法的签名一样。

public void test(List<String> list) {} //编译错误
public void test(List<Integer> list) {} // 编译错误
http://www.dt0577.cn/news/12946.html

相关文章:

  • 贵州做网站的公司外链火
  • 建企业网站教程长尾关键词挖掘熊猫
  • 推荐医疗网站建设今日头条新闻最新事件
  • 个人网站代码模板百度品牌广告多少钱一个月
  • 网站的付款链接怎么做的在线客服
  • 深圳市龙华区住房和建设局网站互联网电商平台有哪些
  • 网站建设英文方案seo权重查询
  • 已有的网站如何做排名优化百度搜索关键词统计
  • 长春做网站公司长春网站排名关系网站优化公司
  • b站视频推广网站没有病毒企业策划方案怎么做
  • java用ssm做电商网站站长工具官网查询
  • 做一个高端网站多少钱排名优化公司哪家好
  • php购物网站开发文档广东省新闻
  • wordpress 底部模板百度官网优化
  • 聊城建网站国际军事最新消息今天
  • 电商网站建设与管理100个关键词
  • 重庆建设集团网站首页福州seo快速排名软件
  • wordpress插件 搜索哈尔滨百度搜索排名优化
  • 浙江城乡建设局和住建局广州网站设计实力乐云seo
  • 佛山网约车驾驶证报名网站sem是什么牌子
  • 赣州朝扬网络科技有限公司泰安网站推广优化
  • 网站建设 课程 说明免费推广链接
  • 威海网站建设公司哪家好太原网站制作推广
  • 贵阳网页设计培训学校广州网站运营专注乐云seo
  • 怎么做购物微信网站新闻头条今日要闻国内新闻最新
  • wordpress百度云对象存储seo推广学院
  • 海口高端品牌网站建设国内新闻热点事件
  • 求购做网站网页制作模板的网站
  • 网络技术与网站建设株洲网站设计
  • GTA5房产网站建设中自建网站平台有哪些