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

网站全背景做多大湖南省网站设计公司

网站全背景做多大,湖南省网站设计公司,计算机网络技术是干什么的,wordpress整站手机端1、包装类 1.1 包装类 在Java中#xff0c;每一个基本数据类型都有一个对应的包装类#xff1a; 在SE的学习中我们已有过简单了解。 我们可以注意到#xff0c;除了int类型的包装类为Integer#xff0c;char类型的包装类为Character外#xff0c;其余基本类型的包装类均…1、包装类 1.1 包装类 在Java中每一个基本数据类型都有一个对应的包装类 在SE的学习中我们已有过简单了解。 我们可以注意到除了int类型的包装类为Integerchar类型的包装类为Character外其余基本类型的包装类均将首字母大写即可。 1.2 装箱和拆箱 装箱装包把基本数据类型变为包装类类型的过程叫做装箱。 拆箱拆包把包装类类型变为基本数据类型的过程叫做拆箱。 装箱又分为 自动装箱和显示装箱。 拆箱又分为 自动拆箱和显示拆箱。 1.2.1 装箱 装箱装包把基本数据类型变为包装类类型的过程叫做装箱。 装箱分为 自动装箱和显示装箱。 1.2.1.1 自动装箱显示装箱 public static void main(String[] args) {Integer a 10;//自动装箱int b 10;Integer c Integer.valueOf(b);//显示装箱} 我们可以将数据直接赋值给包装类类型来自动装箱也可以通过包装类中的方法来显示装箱。 1.2.2 拆箱 拆箱拆包把包装类类型变为基本数据类型的过程叫做拆箱。 拆箱分为 自动拆箱和显示拆箱。 1.2.2.1 自动拆箱显示拆箱 public static void main(String[] args) {Integer a 10;//自动装箱先装好箱,再来拆箱int a1 a;//自动拆箱int a2 a.intValue();//手动拆箱double a3 a.doubleValue();//手动拆箱} 1.2.3 自动拆箱自动装箱 底层原理 其实不管是自动装箱还是自动拆箱底层都是帮我们调用了valueOf或者intValue/doubleValue/..... 方法 1.3 包装类面试题 ---缓存数组 我们先来看以下代码 读到这里大家可以先猜测一下结果。 结果是出人意料的 为什么会出现以上的结果的明明两组数据都是包装类啊为什么一组结果是true而另一组结果是false呢 要解决问题我们就需要找到问题的主要矛盾。 我们可以发现这几行代码仅仅只发生了装箱。那我们就去看装箱是怎么操作的也就是valueOf的源码是怎么工作的 我们发现当我们传入的值满足一个范围的时候返回了一个数组中的值而不满足这个范围的时候则新返回了一个对象既然返回了一个新对象新对象用 来进行比较那结果必然是false 那这个范围是多少呢 我们可以看到范围为[-128,127] 。 也就是说当我们要装箱的数据在这个范围当中时是直接从一个数组中拿的数据而这个数组就是缓存数组。 缓存数组中共有256个数字数组下标的范围为[0,255] 存储着如下的数据 所以当传入的数据在[-128,127]这个范围时是直接从这个缓存数组中拿到的数据。 2、泛型 2.1 什么是泛型 顾名思义泛型就是适用于许多许多类型。 在我们之前的学习中我们可以将一个数据当做参数传到一个方法中而泛型是将一个数据类型当做参数传入我们需要什么类型就传入什么类型。 2.2 泛型的语法 类名后的 E 代表占位符表示当前类是一个泛型类。 new关键字后中的类型实参可以不写Java会根据第一个传入的参数自动的来推导出这个类型。 中参数传入规范 2.3 泛型的使用 我们将Integer作为参数传入那我们用E来接收的参数的类型必须为整型不能再传入其他类型如字符串、字符型...... 这里就会帮我们进行自动类型检查如果不是对应的类型就会报错。 我们接收数据时也不需要强制类型转换会进行自动类型转换 注意注意注意 实例化对象时中传入的类型只能为类类型不能为普通数据类型 泛型代码 class myArrayE {public Object[] array new Object[10];public void setValue(int pos,E val) {array[pos] val;}public E getValue(int pos) {return (E)array[pos];} } public class Test {public static void main(String[] args) {myArrayInteger Array new myArray();Array.setValue(0,10);//自动类型检查Array.setValue(1,100);//自动类型检查//Array.setValue(2,dings);自动类型检查 发现错误Integer ret1 Array.getValue(0);//自动类型转换System.out.println(ret1);} } 2.4 裸类型(Raw Type) 了解 裸类型是一个泛型类但没有传入类型实参例如 Array  就是一个裸类型 我们发现我们明明定义的是一个泛型类但是我们实例化对象时并没有传入类型参数却也没有发生报错这是为什么呢 答 泛型是在JDK5引入的 裸类型是为了兼容老版本的 API 保留的机制所以不会报错。 2.5 泛型是如何进行编译的 2.5.1 擦除机制 泛型是编译时期的一种机制在运行的时候没有泛型的概念也就是说JVM当中没有泛型的概念。 在编译完成后我们定义的中的T、E......等等都会被擦除并且替换为Object编译器生成的字节码在运行期间并不包含泛型的类型信息这就是擦除机制。 关于擦除机制的介绍擦除机制 2.5 泛型的上界 在定义泛型类时有时需要对传入的类型变量做一定的约束可以通过类型边界来约束。 2.5.1 语法 2.5.2 示例一 语法 我们对泛型类定义了上界为Number 那传入的类型只能是Number或者是Number的子类。 代码示例 ps:没有指定类型边界 E可以视为 E extends Object 2.5.3 复杂示例二 例如 那传入的类类型只能是实现了Comparable接口的类。 为什么要这样规定呢 因为我们使用的是泛型类一旦我们要在类中进行数据的比较那我们比较方法是未被定义的就是说我们在写下这段代码时还不知道传入的E会是什么类型在方法中不能直接使用 或者来直接进行比较。于是我们规定传入的类必须实现了Comparable接口那就可以直接调用CompareTo方法来进行数据的比较了。 代码示例 class AE extends ComparableE {//要求传入的类必须实现了Comparable接口下面用来数据之间的比较public E findMax(E[] array) {//利用compareTo进行比较找到数组中的最大值int max 0;for (int i 0; i array.length; i) {if (array[max].compareTo(array[i]) 0) {max i;}}return array[max];} } public class Student implements ComparableStudent{//实现了Comparable接口public String name;public int age;public Student(String name, int age) {this.name name;this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };}Override//重写compareTo方法规范比较行为public int compareTo(Student o) {return this.age - o.age;}public static void main(String[] args) {Student[] students new Student[]{new Student(dinsg,10),new Student(fdd,100),new Student(kasg,21),new Student(hau,1)};AStudent aaa new A();Student maxStudent aaa.findMax(students);System.out.println(maxStudent);} } 2.6 泛型方法 未完待续....
http://www.hkea.cn/news/14528408/

相关文章:

  • 网站公司排行榜前十名慈云寺网站建设
  • 网站底部优化字做骗子网站
  • 陕西省建设厅执业资格注册中心网站软装公司排名前十强
  • 贵阳网站制作维护河南网站域名备案
  • 无锡新吴区住房建设交通局网站建一个网站怎么赚钱
  • 清远网站关键词优化专业开发网站建设
  • 南昌网站定制开发公司长沙旅游攻略景点必去长沙美食街
  • 宁波网站推广优化汕头人才招聘网最新招聘信息
  • 深圳商业网站建设去哪家有没有做废品的网站
  • 美食网站怎样做锅包肉seo发包技术
  • 百度关键词网站怎么做wordpress添加底部友情链接
  • 免费建网站域名下做图软件在哪个网站下载器
  • 可以兼职做翻译的网站或app黑河做网站公司
  • 上海网站建设网页制作培训百石网怎么做网站
  • 阿里云可以做网站最新国际形势分析
  • 怎么样自学做网站做网站佛山
  • 建设银行网站邮箱织梦网站地图在线生成
  • 怎么建立信息网站平台公司做哪个网站比较好
  • 站长工具ip查询苏州网站设计公司兴田德润在哪里呢
  • 商丘网站建设设计中小微企业税收政策
  • 中山建设网站首页开建筑公司取名字如何取好旺
  • 西安开发网站建设淮北做网站公司
  • sae 企业网站美食网站的设计与制作
  • 最早做淘宝返利的网站专业的集团网站设计网络
  • 东莞网站建设 包装材料学习网站建设优化
  • 网站创建多少钱长沙seo就选智优营家
  • 合肥网站建设服务平台杭州哪家公司做网站比较好
  • 网站建设网站系统选择网站建设素材图片
  • title:网站建设公司实力河南海华工程建设监理公司网站
  • 网站里做任务现在做网站建设的公司多么