知名网站建设加工百度指数可以查询多长时间的

diannao/2026/1/16 20:02:30/文章来源:
知名网站建设加工,百度指数可以查询多长时间的,网站关键字优化简介,泉州公司网站建设当你掌握Java语言到了一定的阶段#xff0c;或者说已经对Java的常用类和API都使用的行云流水。你会不会有一些思考#xff1f;比如#xff0c;这个类是如何设计的#xff1f;这个方法是怎么实现的#xff1f;接下来的一系列文章#xff0c;我们一起学习下Java的一些常见类…    当你掌握Java语言到了一定的阶段或者说已经对Java的常用类和API都使用的行云流水。你会不会有一些思考比如这个类是如何设计的这个方法是怎么实现的接下来的一系列文章我们一起学习下Java的一些常见类的源码。本篇一起分析下Integer的源码。 目录 一、两道Integer的题目 二、Integer类图 三、String转int     1、Integer.parseInt 2、Integer.valueOf 四、总结  一、两道Integer的题目 可能有些同学java水平比较高或者认为自己没必要去看Integer源码。那你不妨看下接下来这几道题目看看你是否都能答对。    1、如下代码输出什么 public class IntegerTest1 {public static void main(String[] args) {Integer i1 100;Integer i2 100;Integer i3 200;Integer i4 200;System.out.println(i1 i2);System.out.println(i3 i4);} } 答案是true   false 2、如下代码输出什么 public class IntegerTest {public static void main(String[] args) {String s 10;System.out.println(Integer.getInteger(s));} } 答案是null咦为什么不是10 如果这两道题目都答对了那你可以叉掉这篇文章因为我也不想浪费你的时间。如果你答错了那么不妨一起学习下Integer的源码 二、Integer类图 那么接下来我们一起看下Integer的源码吧。Integer源码不算短1800行代码。其中有很多api是不常用的因此我们也仅去挑一些常用的api去看下其实现。如下是Integer及其关联类/接口的类图 通过Integer类的类图我们总结下它的特点 Integer类继承自抽象类NumberInteger类实现了Comparable接口Integer类使用final修饰因此不可以有子类不能被继承 三、String转int     在日常工作中我们经常会将一个代表数字的String转为int那么Java给我们提供了两个方法 1、Integer.parseInt public static int parseInt(String s) throws NumberFormatException {return parseInt(s,10);} 在使用这个方法的时候我们需要注意trycatch一下NumberFormatException否则当输入的String不是数字或者超过integer的范围时会产生异常。 另外该方法默认是10进制当然我们也可以调用两个参数的方法传入进制去转为其他进制的int但这不常用 public static int parseInt(String s, int radix)throws NumberFormatException{...} 接下来详细看下该方法的实现 首先会判断传入的String不为null检验传入的进制参数在范围内[2 , 36]而且会判断字符串的长度大于0否则会抛出NumberFormatException if (s null) {throw new NumberFormatException(null);}if (radix Character.MIN_RADIX) {throw new NumberFormatException(radix radix less than Character.MIN_RADIX);}if (radix Character.MAX_RADIX) {throw new NumberFormatException(radix radix greater than Character.MAX_RADIX);}if (len 0) {...} else {throw NumberFormatException.forInputString(s);} 当字符串满足转化为int的条件时就执行将String转为int的代码上述被...省略的代码。我们也分两步来看 首先根据字符串的首字符判断是正数、负数或是非法。 char firstChar s.charAt(0);if (firstChar 0) { // Possible leading or -if (firstChar -) {negative true;limit Integer.MIN_VALUE;} else if (firstChar ! ) {throw NumberFormatException.forInputString(s);}if (len 1) { // Cannot have lone or -throw NumberFormatException.forInputString(s);}i;} 1如果第一个字符是-会把表示正负数的negative置为true同时把其limit置为Integer的最小值 2如果不是-且如果不是那说明是其他的字符抛出异常 3如果首字符是或-但是长度为1说明是或-也是非数字抛出异常。 4如果首字符合法那么i接下来看非符号的字符。 当然如果首字符不是符号而是数字那么就直接走接下来的代码 int multmin limit / radix;int result 0;while (i len) {// Accumulating negatively avoids surprises near MAX_VALUEint digit Character.digit(s.charAt(i), radix);if (digit 0 || result multmin) {throw NumberFormatException.forInputString(s);}result * radix;if (result limit digit) {throw NumberFormatException.forInputString(s);}result - digit;}return negative ? result : -result; 1遍历字符串的字符调用digit函数该函数在不能转为数字时返回-1 2如果有字符不是数字digit0,那么抛出异常。 3如果没问题那就一步步计算转为int会判断是否超过范围超过范围则抛出异常 4最后如果是负数返回result如果是正数返回-result 在这里可能有的同学没看懂为什么负数返回的是result而正数返回的是-result。我们把字符串数字转为十进制的方法比如把1234转为十进制其实是这么来的 1 ✖️10 2✖️10 3✖️10 4 12 ✖️10 3 ✖️10 4 120 3✖️10 4 123✖️10 4 1230  4 1234 而方法里面其实是反过来实现的 -1 ✖️10- 2✖️10 - 3✖️10 - 4 -12 ✖️10 - 3 ✖️10 - 4 -120 - 3✖️10 - 4 -123✖️10 - 4 -1230 - 4 -1234 所以它用的不是正向累加法而是负向累加法。其实代码里面也有注释负向累加避免在最大值附近发生意外 // Accumulating negatively avoids surprises near MAX_VALUE 2、Integer.valueOf 第二种方法就是Integer.valueOf该方法最后还是调用的parseInt。注意其返回值是Integer而不是int。不过现在已经不用unboxing了可以直接使用int去接收返回值。 public static Integer valueOf(String s, int radix) throws NumberFormatException {return Integer.valueOf(parseInt(s,radix));} 接下来看看valueOf的实现 public static Integer valueOf(int i) {if (i IntegerCache.low i IntegerCache.high)return IntegerCache.cache[i (-IntegerCache.low)];return new Integer(i);} suprise来了Integer.valueOf( int i)这个方法出现了IntegerCache这个内部类而且会返回cache里的对象或者一个新的Integer对象。那么IntegerCache是什么 private static class IntegerCache {static final int low -128;static final int high;static final Integer[] cache;static Integer[] archivedCache;private IntegerCache() {}static {int h 127;String integerCacheHighPropValue VM.getSavedProperty(java.lang.Integer.IntegerCache.high);int size;if (integerCacheHighPropValue ! null) {try {size Integer.parseInt(integerCacheHighPropValue);size Math.max(size, 127);h Math.min(size, 2147483518);} catch (NumberFormatException var6) {}}high h;VM.initializeFromArchive(Integer.IntegerCache.class);size high - -128 1;if (archivedCache null || size archivedCache.length) {Integer[] c new Integer[size];int j -128;for(int k 0; k c.length; k) {c[k] new Integer(j);}archivedCache c;}cache archivedCache;assert high 127;}} 可以看出Integer内部维护了一个IntegerCache范围是[-128,127]。valueOf方法如果数值在[-128,127]之间便返回指向IntegerCache.cache中已经存在的对象的引用否则创建一个新的Integer对象。 这其实解答了我们的第一个问题。 在这里顺便也看下我们的第二个问题为什么Integer.getInteger10返回的是null而不是10。其实调用的是System.getProperty跟String转int半毛钱关系没有 public static Integer getInteger(String nm, Integer val) {String v null;try {v System.getProperty(nm);} catch (IllegalArgumentException | NullPointerException e) {}if (v ! null) {try {return Integer.decode(v);} catch (NumberFormatException e) {}}return val;} 四、总结  其实Integer我们常用的无非就是这两个String转int的方法Integer还提供了一些简单的计算方法例如maxminsum其实我们也用不到。还有intValue方法从java1.6开始我们也不需要拆箱unboxing了所以也用不到。 本篇基于Integer的两个常用方法看了其关键代码的实现也知道了其内部维护着一个缓存。通过分析其源码实现也解答了开篇抛出的两个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做企业公示的数字证书网站百度搜索排名怎么收费

在我的上一篇博客《Java JDBC学习实战(一): JDBC的基本操作》中,简要介绍了jdbc开发的基本流程,并详细介绍了Statement和PreparedStatement的使用:利用这两个API可以执行SQL语句,完成基本的CURD…

生产企业做网站有用吗网站百度不到

商业竞争激烈,品牌不仅是企业的标志和形象,更是其核心价值和竞争力的体现。然而,企业在品牌推广过程中面临着诸多如缺乏有效的渠道管理、品牌形象模糊以及竞争激烈的市场环境等。这些阻碍着企业的品牌发展和市场占有率的提升。本文将通过企业…

高性能网站建设进行指南深圳vi设计公司全力设计

如果您正在使用Maven构建Java项目,可能是在Eclipse中,或者是通过运行mvn install在命令提示符下构建的,并且构建失败并显示诸如“无效的目标发行版:1.7”或“无效的目标发行版:1.8”之类的错误,那么您来了到…

网站的面包屑怎么做的东莞网页平面设计

刷题建议 刷题建议与debug 代码随想录目前基本都有了视频讲解,一定要先看视频,事半功倍。写博客,将自己的感悟沉淀下来,不然会忘大家提问的时候,记得要把问题描述清楚,自己在哪一步遇到了问题&#xff0c…

文件外链生成网站王也踏青

题面 最小支配集全集-最大独立集 所以先把点权改成正无穷/负无穷来保证强制选/不选某个点到独立集里&#xff0c;然后变成了洛谷的动态DP模板 GTMDNOIP2018ZTY 1 #include<stack>2 #include<cstdio>3 #include<cstring>4 #include<algorithm>5 using n…

网站如何做聚合页面游戏音效设计师培训

<base href>就是指网页里面的相对链接 的前缀url&#xff0c;如在<head></head>部分定义了此链接为http://ent.sina.com.cn/ &#xff0c;那么下面的<a hrefaaa.html></a>代表http://ent.sina.com.cn/aaa.html 这个标签的用处是解决编程时候的相…

广州做网站要多少钱网站建设的作业模板

一、前言 大家好&#xff0c;这里是白泽。有一些同学提问&#xff0c;希望在自己的简历上增加一些有含金量的项目经历&#xff0c;最好能够去参与一些开源项目的开发&#xff0c;但由于对一个庞大的开源项目缺乏认知&#xff0c;难以着手。同时也担心自己能力不足&#xff0c;…

网站模板 音乐济南建设工程交易网

SMB简介&#xff1a; SMB&#xff08;Server Message Block&#xff09;(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议&#xff0c;Linux平台通过samba来支持。SMB最新版本v3.0&#xff0c;在v2.0基础上针对WAN和分布式有改进。 建议使用原版wind…

网站搜索引擎南昌官网seo

如何去除打印时出现的教育版字样&#xff1f;当我们收到甲方提供的建筑图纸时&#xff0c;尤其是设备安装类专业的CAD文件&#xff0c;很多都是教育版&#xff0c;也不知道是为啥。但是作为设计师&#xff0c;打印图纸时出现教育版戳记&#xff0c;那就显得太不专业了&#xff…

太原网站建设推广注册建设网站的公司网站

这道题就是 「BZOJ1070」[SCOI2007]修车 的加强版 如果一开始把全部边连上会T 优化的方法是只连用到过和下一次增广可能用到的边。 1 #include<bits/stdc.h>2 using namespace std;3 const int N50,M110,NN100010,oo1e9;4 int n,m,cost[N][M],tot,s,t,p[N],rank[NN],c[NN…

o2o典型代表网站做企业网站的轻量级cms

前言&#xff1a;在各类网站论坛上,没有找到与工作比较贴切的技能,所以特此写一些对刚步入工作或者工作中没有重视的技能与问题,各位大牛请及时关闭文章.ps1&#xff1a;文中所有标点都是英文的,看官请不要在意.为了便于平时敲代码,所以中文输入法也默认了英文标点(防止各类因为…

dnf可以去哪个网站做代练wordpress如何开启阿里云cdn

上周陪同之前一起工作的同事去面试&#xff08;乔治&#xff0c;小袁&#xff0c;鹏飞&#xff08;面试人&#xff09;&#xff09;&#xff0c;第一站是去深圳&#xff0c;第二站上海&#xff0c;第三站杭州。面试什么公司我在这里就不多说了&#xff0c;你们知道是一线公司就…

企业网站建设硬件德令哈网站建设公司

满意答案pihiac2014.09.05采纳率&#xff1a;45% 等级&#xff1a;7已帮助&#xff1a;460人scanf语句的一般格式如下&#xff1a;scanf("格式字符串", 地址&#xff0c;…);scanf语句用"格式字符串"控制键盘读入的方式。"格式字符串"中一般只…

建设网站是不是要买服务器wordpress仿qq空间

1 echo();2 print();3 die();4 printf();5 sprintf();6 print_r();7 var_dump(); 1 echo() 可以同时输出多个字符串,可以多个参数,并不需要圆括号,无返回值。 2 print() 只可以同时输出一个字符串&#xff0c;一个参数,需要圆括号,有返回值,当其执行失败时返flase .prin1 echo(…

比较有名的网站建设平台搜狐网站开发

Go 语言从发布 1.0 版本以来备受众多开发者关注并得到广泛使用&#xff0c;Go 语言的简单、高效、并发特性吸引了众多传统语言开发者的加入&#xff0c;而且人数越来越多。 就目前来看&#xff0c;Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析…

服务器建设一个自己的网站wordpress文章为啥数据库中找不到

文章目录 1. 项目说明1.1 项目特点2. 文件说明2.1 脚本文件2.1.1 `TCP_IP.sln`2.1.2 `xmake.lua`2.1.2.1 编译说明2.1.2.2 运行说明2.1.3 章节说明项目代码已经开源在github上! 微信公众号文章同步发表! 1. 项目说明 根据《TCP/IP网络编程》书籍学习,对其中的代码进行整理,…

网站违法和做网站得有关系17做网店

如果你是mac ,你删除as ,删不干净也正常,你会发现安装的时候,前面的东西也在.配置文件在,会导致你以前的错误不想要的东西都在.废话不多说,复制粘贴就是干!!!!~~~~~~~~第一步: 复制粘贴就是干!!!!~~~~~~~~ 复制到命令行里面,直接回车就OKrm -Rf /Applications/Android\ Studi…

烟台网站排名优化公司哪家好沈阳男科三甲医院排行榜

基本概念和术语&#xff1a; 数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;并输入给计算机处理的符号集合。 数据元素&#xff1a;是组成数据的&#xff0c;具有一定意义的基本单位&#xff0c;在计算机…

淘客网站建设带app梵讯企业网站建设

华为政企42 华为政企 目录 上一篇华为安防监控摄像头下一篇华为企业级无线路由器

文章收录网站怎么样做外贸网站

在移动互联网时代&#xff0c;App的推广和运营面临着诸多挑战。其中&#xff0c;H5页面如何高效、便捷地拉起应用&#xff0c;成为了一个亟待解决的问题。今天&#xff0c;我们就来谈谈如何利用Xinstall品牌&#xff0c;轻松解决这一痛点&#xff0c;提升用户体验&#xff0c;助…