MouseListener与MouseAdaper的区别
adapter意为适配器。\n\n我们知道当一个类实现一个接口时,即使不准备使用某个方法,也必须给出接口中所有方法的实现,适配器可以替代接口来处理事件,当java提供处理事件的接口中多于一个方法时,java就相应的提供一个适配器类,比如:MouseAdapter,windowAdapter等等。\n\n适配器已经实现了相应的接口,例如MouseAdapter类实现了MouseListener接口,因此可以使用MouseAdapter的子类创建的对象做监视器,只需重写需要的接口方法即可。\n\n一个是类,一个是接口。
数据类型
基本数据类型:整数型:byte short int long 默认值为0
浮点数型 :float double 默认值为 0.0
布尔数型 :boolean 默认值为 false
引用数据类型 :类 接口 数组 String 默认值为 null
String substring(int beginIndex,int endIndex) 用于字符串的截取
注意:包头不包尾,包左不包右
只有返回值才是截取的小串
String substring(int beginIndex) 截取到末尾
字符串原理小结
扩展底层原理1:字符串存储的内存原理
直接赋值会复用字符串常量池中的
new出来不会复用,
而是开辟一-个新的空间
扩展底层原理2: ==号比较的到底是什么?
如果扩容之后还不够,以实际长度为准
基本数据类型比较数据值
)引用数据类型比较地址值
扩展底层原理3:字符串拼接的底层原理
如果没有变量参与,都是字符串直接相加,编译之后就是拼接之后的结果,会复用串池中的字符串。
如果有变量参与,会创建新的字符串,浪费内存。
扩展底层原理4: StringBuilder提 高效率原理图
所有要拼接的内容都会往StringBuilder中放,不会创建很多无用的空间,节约内存
扩展底层原理5: StringBuilder源码分析
直接赋值会复用字符串常量池中的
默认创建一-个长度为16的字节数组
new出来不会复 用,而是开辟一-个新的空间
添加的内容长度小于16, 直接存
添加的内容大于16会扩 容(原来的容量*2+2)
ArrayList的成员方法
功能 方法名 说明
增 booiean add(E e) 添加元素成功,返回值表示是否添加成功
删 boolean remove(E e) 删除指定元素,返回值表示是否删除成功
E remove(int index) 删除指定索引的元素,返回被删除元素
改 E set(int index,E e) 修改指定索引下的元素,返回原来的元素
查 E get(int index) 获取指定索引的元素
int size() 集合的长度,也就是集合中元素的个数
集合和数组的对比
数组长度固定,可以存基本数据类型和引用数据类型
集合长度可变,可以引用数据类型,引用基本数据类型需要包装类
包装类:
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
静态变量是随着类的加载而加载的,优先于对象出现的
网友评论