在Java初学阶段,想必很多人都会先学Java中的一些基本类型以及他们的包装类,如下

int --> Integer
long --> Long
double --> Double
...等等

很多人在学的时候感觉这用处不大啊,也不知道什么时候用,该怎么用。接下来是楼主的一些见解,也是工作中算最常用到的,如果有大神看到文章觉得我说的不对,请指出我的问题。

我们这拿int基本类型来举例。

1.基本类型的包装类是复杂类型

Integer为复杂类型,具有一些与其他类型转换的方法。而基本类型做不到。

String str="1";
Integer.parseInt(str);
2.基本类型默认为0,包装类型为NULL

楼主这就不讲什么底层原理七七八八,直接就是讲最直接的比较,我们这用一个Student类来解释。

public class Student{private String name;//学生名称private int score;//学生成绩
}

这里如果是一场考试的话,那么这场考试中 int 类型只能表示一种情况,学生来考试了,只不过有成绩和0分。

但是真正的情况下,还有一种情况,那就是这学生没来考试。 我们要知道,0分跟没来严格来说是由区别的,那么这时候包装类默认类型为NULL就派上用场了。这也是楼主当初理解包装类和基本类型最直接的一种理解方式了。

3.如何使用基本类型和包装类型

大部分情况下,使用这两种类型不会有太大区别。但是楼主在开发过程中,最常用的还是在定义属性的时候,会根据这个对象的要求来去定义是包装类型还是基本类型。

举例1:对象中有返回的统计属性 还拿学生成绩来说,返回三科总成绩,楼主就习惯会用int,因为已经说到统计,你肯定得让这个字段存在,如果真的没有,那就默认统计为0。

举例2:张三去没去考试,结果只会出现去 或者没去 ,boolean基本类型 默认值是false,设置了true才会是true。

总结

用基本类型还是包装类型 只要你在开发中经常写,遇到情况的时候你就深有体会,渐渐的你也懂我上面说的意思,总的来说就是结果或者你希望的结果只有2种情况的时候 你就用基本类型,想让他存在NULL的情况就用包装类型。

【Java】Java中的包装类和基本类型有什么区别,使用场景举例相关推荐

  1. 关于Java项目中,word和Excel类型文件的预览功能实现

    关于Java项目中,word和Excel类型文件的预览功能实现 背景 Aspose说明 Aspose.Words Aspose.Cells pom依赖引入 引入license.xml(授权文件) 创建 ...

  2. Java 面试题 —— 强类型语言和弱类型语言的区别

    Java 面试题 -- 强类型语言和弱类型语言的区别 ​  强类型语言,也称为强类型定义语言,是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用. ​  如:Jav ...

  3. java getmethods_java中Class.getMethods()和Class.getDeclaredMethods()方法的区别

    在java中,可以根据Class类的对象,知道某个类(接口)的一些属性(成员 ,方法,注释,注解)等.由于最近的工作中用到了这些,其中需要在代码中格局反射知道某些类的方法,查看文档的时候,看到了get ...

  4. Java线程中,Blocked,Wait,以及TIMED_WAIT的区别

    根据jdk1.6的api,java的Thread类,定义了六个状态: 线程状态.线程可以处于下列状态之一: NEW 至今尚未启动的线程处于这种状态. RUNNABLE 正在 Java 虚拟机中执行的线 ...

  5. 【Java】中int 和 Integer 与 new Integer() 的区别,int 可以使用 == 来对比两个变量是否相等,而 Integer 一定要使用 equals 来比较两个变量值是否相等

    目录 一.int 和 Integer 的区别 二. Integer.new Integer() 和 int 的比较 三.总结 四.更多详看: 一.int 和 Integer 的区别 两者的区别主要体现 ...

  6. Java spark中的各种范型接口Function的区别(持续更新中)

    表格来自[2] Class Function Type Function<T, R> T => R DoubleFunction<T> T => Double Pa ...

  7. java filewriter_java中Write FileWriter()和FileWriter(new file)的区别

    展开全部 没什么区别,只是不同的重载而已,最终都是调用32313133353236313431303231363533e58685e5aeb931333365663562的OutputStreamWr ...

  8. mysql中decimal与float_MySQL中的float和decimal类型有什么区别

    decimal 类型可以精确地表示非常大或非常精确的小数.大至 1028(正或负)以及有效位数多达 28 位的数字可以作为 decimal类型存储而不失其精确性.该类型对于必须避免舍入错误的应用程序( ...

  9. Java基本数据类型及其包装类

    Java基本数据类型及其包装类 正文开始@Assassin 目录 Java基本数据类型及其包装类 1. 基本类型包装类概述: 1.1 基本数据类型和包装类型的区别: 1.2 各包装类的一些基本的属性: ...

最新文章

  1. 在okhttp3,WebView中忽略HTTPS证书校验
  2. 《Head First Java》读书笔记(3) - 异常和IO
  3. 字典的最大深度 python 实现
  4. Python入门100题 | 第072题
  5. java导出类_java导出excel工具类
  6. 4、路由器和主机如何配置IP地址等信息才能使计算机相互通信
  7. 【问题】HDFS中块(block)的大小为什么设置为128M?
  8. 帆软报表(finereport)table块钻取,返回记住table块位置
  9. java中生成pdf文件,java 中生成pdf 文件
  10. 刘宇凡:微博的那些人,那些事
  11. 求平均值程序c语言,编写求一组整数的和与平均值的程序
  12. Web入门-namp的下载与使用
  13. muduo库net源码分析一(网络编程本质)
  14. pandas教程(上)
  15. 吴恩达深度学习作业之deepleraning_L1W2_h2
  16. 【入门笔记】量化投资是什么?
  17. 电子电路期末考试复习预测题一(内附详细解析)
  18. python夯实基础日记-序列、列表、元组
  19. Async/Await FAQ (Stephen Toub)
  20. 百度首页设计(HTML)

热门文章

  1. 树莓派教程-命令行连接wifi
  2. LR_脚本函数构成一:
  3. 设计模式-代理模式【Proxy Pattern】
  4. 智能锁语音芯片方案,NV170D-SOP8九芯电子自主研发
  5. 小白入门谱聚类算法原理与实现
  6. 修改tomcat默认的编码方式
  7. EXCEL 行、列限制数
  8. React 对组件props限制 ( prop-types 依赖)
  9. CBG 2108班day04学习内容总结
  10. 微信小程序 按钮的禁用和使能