常用类型

基本类型

  • int
  • long
  • double

引用数据类型

  • Integer
  • Long
  • Double
  • BigInteger
  • BigDecimal
  • String
  • List
  • Map
  • Array

数据类型

基本数据类型

  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char

引用数据类型

包装类
  • Byte

  • Short

  • Integer

  • Long

  • Float

  • Double

  • Boolean

  • Character

  • BigInteger

  • BigDecimal

其他
  • String

    字符串是一种非常独特的数据类型

  • List

  • Map

  • Array

类型转换

基本数据类型转基本数据类型

  • 隐式转换

    扩大原始转换

    规则: byte<short<int<long<float<double

    布尔和字符一般不参与转换!

  • 显示转换

    缩小原始转换

    也就是上面的翻过来转换,都需要强转

基本数据类型和包装类互转

  • 自动装箱

    基本类型隐式转换成对应的包装类

  • 自动拆箱

    包装类隐式转换成对应的基本数据类型

基本数据类型和字符串互转

  • 基本数据类型转字符串

    1. 任何基本类型和字符串相加结果为字符串
    2. String.valueOf()方法可以把基本数据类型转换成字符串
  • 字符串转基本类型

字符串转基本类型就是转换成对应的包装类,使用的方法就是包装类内封装的方法

包装类和字符串互转

包装类和字符串之间不能强制转换
只能通过对应的类方法进行转换,如果类方法不支持这个类型转换,就不能进行转换。

强制转换逻辑

一个超类能做的东西,其子类也能做,而一个子类能做的东西超类不一定能做,所以就有这样的规则:
(1).一个子类的对象可以强制转换成为其超类的对象;
(2).一个超类的对象如果强制转换成子类的对象将在运行的时候有异常抛出;
(3).如果不是同一继承树上的类强制转换,将产生编译错误.