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

常平网站仿做优书网小说

常平网站仿做,优书网小说,分类目录不要前缀wordpress,深圳市市长#x1f387;个人主页#xff1a;Ice_Sugar_7 #x1f387;所属专栏#xff1a;Java数据结构 #x1f387;欢迎点赞收藏加关注哦#xff01; 初识泛型 #x1f349;前言#x1f349;包装类#x1f34c;装箱拆箱 #x1f349;泛型#x1f34c;擦除机制#x1f… 个人主页Ice_Sugar_7 所属专栏Java数据结构 欢迎点赞收藏加关注哦 初识泛型 前言包装类装箱拆箱 泛型擦除机制泛型的上界 泛型方法类型推导 前言 在Java中泛型常常与数据结构一起使用用来实现对不同类型的数据的增删查改它使得数据结构更加通用和灵活也实现了代码的复用。同时在编译时提供类型检查避免运行时发生类型错误。而Java中现成的数据结构的源码也涉及到泛型…… 泛型的重要性不言而喻下面一起来了解一下吧 包装类 Java中基本类型不是继承自Object类为了让泛型代码可以支持基本类型Java给每个基本类型都对应了一个包装类型 基本数据类型包装类intIntegercharCharacterfloatFloatdoubleDoublebooleanBoolean…… 除了 int 和 char 类型其他类型的包装类都是基本数据类型首字母大写包装类属于引用类型 装箱拆箱 装箱将基本数据类型转换为对应的包装类对象 拆箱包装类对象——基本数据类型 int a 10; Integer integer a; //装箱 System.out.println(integer); //打印结果是10我们会发现这个过程编译器自动将基本数据类型转换为对应的包装类对象这是自动装箱 我们也可以通过包装类的构造函数或valueOf()方法来显式装箱就是手动装箱 int a 10; Integer integer new Integer(a);Double d Double.valueOf(20.0);// 拆箱操作将 Integer 对象中的值取出放到一个基本数据类型中 int c integer.intValue();泛型 JDK1.5引入泛型这个语法。通俗来说泛型就是“适用于多种类型” 泛型的语法如下 class 泛型类名称类型形参列表 {//这里可以使用类型参数 }//可以有多个类型形参 class ClassNameT1, T2, ..., Tn {//... }你会发现它的语法和定义方法很相似只不过是现在是以类型作为形参 类名后的 T 代表占位符表示当前类是一个泛型类 实现一个类类中包含一个数组成员数组可以存放任意类型的数据也可以根据成员方法返回数组中某个下标的值 public class myArrayT {public Object[] array new Object[10];public void set(int pos,T val) {array[pos] val;}public T get(int pos) {return (T)array[pos]; //把返回的类型强转为指定类型} }在创建数组对象的时候不能这么写 public T[] array new T[10];注意不能new泛型类型的数组 为什么呢这与泛型编译过程中的擦除机制有关 擦除机制 对于刚才上面的代码我们通过命令javap -c 查看字节码文件 可以看到所有的T都是Object 擦除机制指的是在编译的过程中将所有的T替换为Object的机制 既然T在编译期间会被换为Object那为什么还是不能写T呢因为JVM规定不能这么写它规定只能new Object类型的数组 所以以后我们就这么写 public Object[] array new Object[10];泛型的上界 定义泛型类时有时需要对传入的类型变量进行一定的约束我们可以通过类型边界来约束 class 泛型类名称类型形参 extends 类型边界 {//... }比如 public class MyArrayE extends Number {//... }这里就限定了E的范围E只能是Number本身或是Number的子类 还有一种形式可以限定E一定是实现了某个接口的类 public class MyArrayE extends ComparableE {//... }比如上面这个泛型类E一定是实现了Comparable接口的 下面展示一下这种形式的应用 写一个泛型类求一个数组中的最大值 思路分析要求最大值就涉及大小比较而我们知道类是引用类型要比较大小就需要用到之前讲过的compareTo方法也就是说要实现Comparable接口 class AlgT extends ComparableT {public T findMaxValue(T[] array) {T max array[0];for (int i 1; i array.length; i) {if(max.compareTo(array[i]) 0) {max array[i];}}return max;} }泛型方法 有可以适用于多种类型的泛型类那自然也有适合多种类型的泛型方法 语法 方法限定符 类型形参列表 返回值类型 方法名称(形参列表) { ... }举个例子写一个求最大值的泛型方法 public static T extends ComparableT T findMax(T[] array) {T max array[0];for (int i 1; i array.length; i) {if(max.compareTo(array[i]) 0) {max array[i];}}return max; }类型推导 类型推导指编译器根据传入的实参的参数类型推导出泛型方法中的类型参数 以刚才的求最大值方法为例 public static void main(String[] args) {Integer[] array {2,7,1,9,6,5};//数组中的元素自动转换为包装类对象int ret Alg.findMax(array); //由array的类型推导得出T为IntegerSystem.out.println(ret); }我们也可以自己指定类型参数不使用类型推导只需在方法名前面加上类型参数就ok了 int ret1 Alg.IntegerfindMax(array);
http://www.pierceye.com/news/126934/

相关文章:

  • 佛山网站建设seo优化做英文的小说网站有哪些
  • 安顺建设局网站官网哪里有响应式网站企业
  • 唯品会一家做特卖的网站国家商标查询官方网站
  • 网站宝搭建网站环境做电商网站一般需要什么流程图
  • 南通网站建设团队wordpress广告产检
  • 做网站刷赞qq怎么赚钱邢台路桥建设总公司没有网站吗
  • 网站仿站教程常用外贸网站
  • 南昌市有帮做网站的吗纵横天下网站开发
  • pc网站直接转换成移动端的网站黑果云免费虚拟主机
  • 网站建设用什么科目wordpress当前分类链接地址
  • 做一万个网站网站做下载功能
  • 佛山建站模板制作wordpress加上live2d
  • 樟木头网站仿做深圳网站开发公司
  • 孙俪做的网站广告微信如何修改wordpress
  • 有什么手机做网站的免费ppt模板下载花
  • 网站建设团队技术介绍县级网站
  • 深圳营销型网站建设价格网站建设文化如何
  • 提交网站的入口地址网站建设灬金手指下拉十五
  • 连云港建设局网站学校网站建设管理相关规定
  • 什么网站做玩具的外贸网站监控系统
  • 从事网站美工建设厦门网站制作企业
  • 网站后台传图片南昌做网站要多少钱
  • 网站包括什么国内最大的域名交易平台
  • 做营销型网站 公司哈尔滨展览设计公司
  • 网站设计费用多少钱产品网页设计教程
  • 深圳公司网站建设设计网站推广的意义和方法
  • 网站需要哪些费用免费营销型网站模版
  • 如何做购物网站的教程wordpress酷炫插件
  • 建设信用卡网站登录网站建设和微信小程序
  • 邓州企业网站艺术设计方案