1. Eclipse快捷键增强
alt+shift+s
快速生成get&setter方法
ctrl+shift+a
批量编辑
2. 包装类
2.1Java为美中基本数据类型提供的对应的类
int Integer
,其实都表示一个整数,并且范围是一样的
包装类的作用:
- 提供方法
- 继承Object
- 提供一些常量字段,查询该类型数据的一些信息,最大值,最小值,存储的位数
Java中的包装类有哪些?
基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer的作用:
- Integer(字段,方法),在这个类中,把int的位数,最大值,最小值写成常量了.
- Integer类中提供了一些有用的方法:例如int-String之间的转换,和其它的数据类型的转换.
Integer的构造方法
Integer(int value)
构造一个新分配的 Integer
对象,该对象表示指定的 int
值。
Integer(String s)
传入内容为数字的String类型
Integer常用方法
byte byteValue() 以 byte 类型返回该 Integer 的值。
double doubleValue() 以 double 类型返回该 Integer 的值。
float floatValue() 以 float 类型返回该 Integer 的值。
int intValue() 以 int 类型返回该 Integer 的值。
long longValue() 以 long 类型返回该 Integer 的值。
short shortValue() 以 short 类型返回该 Integer 的值。
包装类对象的创建方式
通过Integer一个包装类的学习应该知道器包装类都是一样的
Integer创建对象,调用构造方法
- Integer(int value)
- Integer(String s)
在项目很多的时候从前台传输数据到后台几乎都是字符串的形式
2.2自动装箱拆箱
- int和Integer为例
- 自动装箱 Integer i1 = 123;
- 自动拆箱 int i2 = i1;
- 手动装箱 Integer i2 = new Integer(123);
- 手动拆箱 int i2 = i1.intValue();
自动拆箱只支持基本数据类型和其对应的包装类
2.3 享元模式
简单来说就是正数中的几个包装类内部把常用[-128,127]的数据缓存起来了
浮点数不会存在享元模式
3. 数学相关类Math/BigInteger/BigDecimal
- Math类
- 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数
- BigInteger
- 能够表示比long更大的整数
- BigDecimal
- 可以精确的表示小数
4. System/Runtime/Java中的垃圾回收机制
Java中的垃圾
- 简单理解为,当我们的对象失去所有的引用的时候,对象不会再被用到!
- 示例Integer i = new Integer(); i = null;//刚才i中保存的创建对象失去引用
1. \怎么看到失去引用的对象被回收的效果**
在Java中提供了两个方法和垃圾回收相关的
Object 中
finalize();
:所有的对象上都可以调用此方法,当这个对象被回收的时候就会调用此方法
System 中的 gc()方法 : 调用此方法表示我们做了一些努力来回收垃圾
怎么测试看效果?
可以自定义类
覆写finalize() 在里面写一个打印语句
创建一些自定义类的对象,变为垃圾(创建匿名对象)
当对象被回收的时候会主动调用自己复写的finallize方法
如果上面的效果不明显,可以尝试调用gc()方法
5. 字符串相关类String/StringBuffer/StringBuilder
- 处理字符串的不仅仅只有String类,还有StringBuilder和StringBuffer
5.1 String类
1、查看String类描述,原理分析
2、String对象的创建方式(目前介绍常见)
① 常量赋值 String s = “你是个小串串”;
② 通过调用String类的构造方法
String()
String(String str)
….更多构造方法 ,以后再说(IO流的时候)
3、关于空字符串
① String str1 = null; //表示str1没有指向一个对象
② String str2 =""; //有一个对象,对象是空
③ String str3 = new String();
A. 理解到①表示没有对象
B. ②③有对象,但是是空的,没有字符,其实也没有多大意思
5.2 StringBuffer类
- 可以对字符串内容进行增删,此时不会产生新的对象
- 很多方法和String相同
- 作为参数传递时,方法内部可以改变值
常用方法
appen();用于字符串的拼接;
delete(int start, int end);删除指定位置的内容;
replace(int start, int end,String str);替换[start,end)的内容;
insert(int offset,xxx);在指定位置插入xxx;
reverse();把当前字符序列逆转;
5.3 StringBuilder类
和StringBuffer类相似,安全性较低,效率较高,用法和StringBuffer类一样