(本段适合穿着马甲读)
说有一只老虎被蛇咬了一口,老虎急了就一直追呀追,追到一条小河边,这蛇“嗖”鉆进去了,老虎就坐在岸上等,“小样儿,我就不信你不出来!”不一会儿水里出来一只王八,老虎上去就给按住了:“小样儿,你以为你穿上马甲我就不认识你啦!”
(本段适合边脱马甲边读)
不好意思啊, 不知道现在大家都穿着马甲,我重讲!我讲错了,是一王八鉆水里了然后出一条蛇,老虎说的“你把马甲脱了我照样认识你!”
傻傻分不清的Integer和int
我们先来看这两段代码:
public class Main {
public static void main(String[] args) {
intFunc1(5); intFunc2(5);
}
public static void intFunc1(Integer b){
Integer a = 3;
System.out.println("使用Integer相加运算结果为:");
System.out.println(a+b);
}
public static void intFunc2(int b){
int a = 3;
System.out.println("使用int 相加运算结果为:");
System.out.println(a+b);
}
}
运行上面这段代码, 我们可以在控制台,看到如下结果:
即Integer和int 都能完成相应的操作,看, 这马甲穿与不穿都是一个样! 可是再怎么说,一个是基本类型(int), 一个是包装类型(Integer) 怎么可能就完全一样呢! 下面,我们来一起探究下有哪些不一样的.
参数不知道传什么值了
还是上面那段代码,只不过,一时没有给b的值,那么,按照经常的经验,我们是直接传null 值就可以了, 这里,我们试着往方法里面传一下null.
如上图所示,我们会发现编译时就会出现错误: nulltype cannot be converted to int. 这里就是int 做为一个基本类型, 是一定要有值, 不能为null的, 但是Interger做为一个包装类型或者说是一个引用类型的,就可以传null !
这个特性,可以用在一起对传入参数有限制的场景:
1,如果这个参数是整数 , 并且要求调用方是必传的,那么就是int 来声明这个入参.
2,如果这个参数是整数,但是调用方,可以根据使用场景,可传可不传, 这个时候, 就用Integer来声明入参.
随着业务越来越复杂,可能我们会对这个整数做一些操作之类的,比如,我们拿到了一个整数,想把这个整数转成字符串,转成byte,之类的. 这里以转成字符串为例,如果想把基础类型int 转成字符串,只靠他自己是完成不了的, 如下图,我们打个在变量后面没有看到任何方法提示:
在转成String的时候,只能用String这个类的转化,代码如下所示:
int a = 5;
String s = String.valueOf(a);
System.out.println(s);
但是用包装类型Integer就不一样了! 整数转成String只需要一步就可以了,不仅仅是可以一步转成String,如下所示,还有很多方法可以使用:
由此,我们可以做一个大致的总结,如果需要对入参有一些高级的操作,如转成byte, String,Long , 获取hashCode等等操作的时候,就可以使用Integer做入参,如果即要用Integer做入参,又需要必传,可以在方法体内,做一个判断并及时返回.如果,仅仅只是存一个数字,做简单运算用,那就可以直接用int.
———————————————————————————————–
那么该如何高效地学习Java呢?现在很多很多的教育机构都是以视频的方式去学习,但是内容枯燥无味,遇到问题也无人解答,对新手太不友好了万一自制力稍微差点,或者三分钟热度的小伙伴们,基本学习途中就放弃了.线下Java培训机构很多很多,但是学费动辄上万,上千,固定时间和地点上课,非常不灵活,成本也很高,优点的是会有老师监督学习.很多人都觉得编程很难,对Java敬畏的根本原因:是课程本身没有考虑到用户的认知心理,一味灌输式地呈现知识点,无法让我们感受到学习的乐趣,也就没有动力学下去.没有兴趣地学习,是没办法学好的,可以称之为”折磨”.但是在”微编社”,通过拆解知识单元,重构底层逻辑,将授课形式游戏化,使得零基础的小白也能学得会,并且解决了枯燥烦闷的问题.课程的设置,可以说是”小学生都学会了,你还不会Java吗”专为0基础设置,小白也能轻松学会微编社把Java的所有知识点,都穿插在了经典电影和动漫里面.在微编社的课程中,你可以通过电影,段子,漫画等学到知识点,难懂的专业知识瞬间变得有趣易懂.
你就像是电影的主人公一样,穿越在剧情中,通关斩将,不知不觉地完成知识点的学习30秒进入学习页面,无需下载安装任何软件在微编社学习Java,不需要任何下载安装软件,操作软件都由后台配备,内置在线运行环境,可直接在线写代码作业并运行,边学边实操课程学习时间可以自由安排,平时工作忙或者家里事情多的,也不需要担心有冲突
真人助教贴心指导全程2对1陪伴式教学服务,一人配备班主任和助教老师,在群里也很多热心的学霸同学,遇到不懂得问题随时私聊助教,或直接丢群里都能得到解答.有时候拖延症犯了,三分钟热度过了,自制力差了,你可以体验一下助教老师是怎么”花式催学”的每天30分钟的学习,说不定能打开你的职场新世界!更多知识点关注公众号"微编社"
四大“醒”,包括 wake,waken,awake 和 awaken,它們意思相近,有的時候甚至感覺它們是一樣的,那怎麼區分它們呢?一、wake1....