------- android培训、java培训、期待与您交流! ----------
可变参数( ... ):
可变参数的特点:
1.只能出现在参数列表的最后;
2. 三个点 ... 位于变量名和类型之间;
3.调用可变参数的方法时,编译器为该可变参数创建一个隐含的数组,在方法体内以数组的形式进行访问。
4.当出现可变参数的重载时,会优先选择不包含可变参数的重载方法
增强for循环:
格式:// 增强for循环括号里写两个参数,第一个是声明一个变量,第二个就是需要迭代的容器
for( type 变量名 : Collection集合 & 数组 ) {
…
}
高级for循环和传统for循环的区别:
高级for循环在使用时,必须要明确被遍历的目标。这个目标,可以是Collection集合或者数组,如果遍历Collection集合,在遍历过程中还需要对元素进行操作,比如删除,需要使用迭代器。
如果遍历数组,还需要对数组元素进行操作,建议用传统for循环因为可以定义角标通过角标操作元素。如果只为遍历获取,可以简化成高级for循环,它的出现为了简化书写。
自动拆装箱:
java中数据类型分为两种 : 基本数据类型 引用数据类型(对象)
在 java程序中所有的数据都需要当做对象来处理,针对8种基本数据类型提供了包装类,如下:
int --> Integer
byte --> Byte
short --> Short
long --> Long
char --> Character
double --> Double
float --> Float
boolean --> Boolean
jdk5以前基本数据类型和包装类之间需要互转:
基本---引用 Integer x = new Integer(x);
引用---基本 int num = x.intValue();
1)、Integer x = 1; x = x + 1; 经历了什么过程?装箱-->拆箱 -->装箱;
2)、为了优化,虚拟机为包装类提供了缓冲池,Integer池的大小 -128~127 一个字节的大小;
3)、String池:Java为了优化字符串操作 提供了一个缓冲池;
享元模式设计
使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件。
适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。
常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。
------- android培训、java培训、期待与您交流! ----------