一、java中的数据类型 类型是一组值,以及可以对这些值执行的造作 数据类型 1、基本数据类型:在堆中 不可变 2、对象数据类型:在栈中二、静态、动态数据类型检查 静态:编译阶段——与类型有关(语法错误、类名、函数名错误等,避免因错误类型的操作而导致的bug)(针对类型、与变量特定值无关的错误) 动态:运行阶段——与值有关(运行时才知道非法的参数、超出范围的索引值、调用空对象的方法)(针对由特定值引起的错误) 三、可变、不可变性 改变一个变量:将变量指向另一个存储空间 改变一个变量的值:将改变量空间写入一个新的值 Immutability:“final”——值不可变、引用不可变、类型不能被继承、方法不能override 对象 不可变(String)
 对象 可变 (StringBuilder)
 当有多个引用时
 只用可变数据类型的风险 1、传递可变类型的参数(可能会改变其中的值,再次使用问题) 2、返回可变类型的数据(如果接受放进行修改,也许会影响到程序内部) 四、Arrays 1、Arrays(定长的数据类型)一但被创建,不可修改数组的长度 int[] a = new int[100];
迭代
 2、List (长度可修改) List<Integer> list = new ArrayList<Integer>();
ps.List是一个接口,List中的成员必须为对象 迭代
 3、Set(是零个或多个惟一对象的无序集合) Set<Integer> numbers = new Hashset<>();
set是一个抽象接口 4、Map Map<key,value> map = new HashMap <key,value>
map是一个抽象接口 来源:https://www./content-4-262401.html
|