JavaSE笔记-泛型】的更多相关文章

定义带泛型的类 public class Cat<T> { //可以用T定义实例变量 private T name; //可以用T定义形参 //构造器没有<> public Cat(T name){ this.name = name; } //可以作为返回值 public T forget(){ System.out.println("我叫啥来着?"); return this.name; } public static void main(String[] a…
第一部分,JAVA基础和面向对象 part01 入门与开发环境搭建 1: 计算机基础知识(了解)(1)计算机(2)计算机硬件(3)计算机软件系统软件:windows,linux,mac应用软件:QQ,YY,扫雷,CS/F(4)软件开发就是用开发工具和计算机语言做出软件(5)计算机语言人与计算机的交流方式(6)人机交互A:图像界面方便,简单,直观.B:DOS 窗口方式要有控制台, 要记住很多的命令, 麻烦.(7)键盘功能键和快捷键的介绍(掌握)A:键盘功能键tabshiftctrlalt空格ent…
泛型简介: 在泛型没有出来之前,编写存储对象的数据结构是很不方便的.如果要针对每类型的对象写一个数据结构,     则当需要将其应用到其他对象上时,还需要重写这个数据结构.如果使用了Object类型,编写的数据结构虽然     通用性很好,但是不能保证存入的对象的安全性. --支持知识共享,转载请标注地址"http://www.cnblogs.com/XHJT/p/3958036.html  "——和佑博客园,谢谢~~-- 代码实例1: 不用泛型实现栈结构     1.用Object和…
一个泛型类就是具有一个或者多个类型变量的类. 我们可以只关注泛型,而不会为数据存储的细节而烦恼 . java泛型(一).泛型的基本介绍和使用 http://blog.csdn.net/lonelyroamer/article/details/7864531 泛型的内部原理:类型擦除以及类型擦除带来的问题 http://blog.csdn.net/lonelyroamer/article/details/7868820 java泛型(三).通配符的使用 http://blog.csdn.net/l…
假定T不仅要指定接口的类继承.使用下面的方式: public class some<T extends Iterable<T> & Comparable<T>>{} Java的泛型不具有共变性(假设B是A的子类,而Node<B>可视为一种Node<A>,则称Node具有共变性),只是能够使用类型通配字符? 与extends来声明变量.使达到类似的共变性. Node<Apple> apple = new Node<>…
示例: public class Apple { private static long counter; private final long id = counter++; public long id(){ return id; } } public class Orange { } public class ApplesAndOrangesWithoutGenerics { @SuppressWarnings({ "rawtypes", "unchecked"…
Annotation Annotation是一个接口,可以把Annotation当成一个修饰符 Annotation的定义 注解通过@interface定义 public @interface TestAnnotation { //Annotation的成员变量通过无形参的方法形式声明,方法名和返回值表示成员变量的名字和类型 String name(); //默认值通过default指定 int age() default 32;} 提取Annotation的信息 提取Annotation的信息…
1.yield关键字用于返回迭代器具体的值,如下框代码所示 /// 返回0~9整数集合 public static IEnumerable<int> yieldSampleMethod() { ; ) yield return index++; } 2.泛型约束 约束 描述where T: struct 类型参数必须为值类型.where T : class 类型参数必须为引用类型.where T : new() 类型参数必须有一个公有.无参的构造函数.当于其它约束联合使用时,new()约束必须…
泛型 上界匹配 ? extends Number 下界匹配 ? super Number getSimpleName 不包括包名 getName 会包括包名 常和反射联合使用,做框架 Type是一个标识符接口,通过getClass().getGenericSuperclass()获得 我们需要将此强制转型为其的子类ParameterizedType类来使用 例如有一个框架 public class Dao<T,PK extends Number>{ public Dao(){ Paramete…
1. 泛型擦除 package cn.Douzi.T_Demo; import java.util.ArrayList; /** * @Auther: Douzi * @Date: 2019/3/8 * @Description: cn.Douzi.T_Demo * @version: 1.0 */ public class ToolTest { public static void main(String[] args) { ArrayList<String> a1=new ArrayLis…