引用数据类型:CIA class,interface,array
User u1 = new User(1, "fage", "123");
User u2 = new User(2, "fali", "dd");
User u3 = new User(3, "jack", "ss");
User[] user=new User[]{u1,u2,u3} ;
System.out.println(user);
System.out.println(user[0]);
System.out.println(user[1]);
System.out.println(user[2]);
[Lcom.qf.entity.User;@29453f44
User(id=1, userName=fage, password=123)
User(id=2, userName=fali, password=dd)
User(id=3, userName=jack, password=ss)
基本类型--------- 基本类型包装类
byte --------- Byte
short --------- Short
int ---------Integer
long ---------Long
float ---------Float
double ---------Double
char ---------Character
boolean ---------Boolean
数组声明方式:
//下面两种是:声明+分配空间+赋值 三合一了。
int[] ints = {1,2,3,4,5};
int [] arr=new int[]{1,3,4,6};
int[] ints = Arrays.copyOf(arr, 8); //参数1为老数组,
参数2为新数组的长度返回新数组
集合:
实现原理:采用动态对象数组实现。
空集合,首次调用add(E e)方法扩容,会将空集合扩容到10,之后如果再扩容,会增加原数组一半。
集合不适合增加,删除。适合查询
通常在定义new集合大小的时候,会加一个参数,预估一下大小。
但是线程不安全,单线程可使用。
Vector:
实现原理:采用动态对象数组实现。
默认构造 创建大小为10的数组。
扩容:当增量为0时,扩容一倍(原大小的二倍),当增量大于0时,扩容为原大小+增量。
多线程使用,使用了synchronized,线程安全,效率低。