java 张龙_张龙 JAVA5新特性学习笔记
1.增強(qiáng)的for循環(huán),這點(diǎn)比較簡(jiǎn)單,就不舉例了,但要注意:
增強(qiáng)的for循環(huán)與傳統(tǒng)的for循環(huán)相比寫起來更簡(jiǎn)潔,更容易理解,但是他也有一個(gè)缺點(diǎn):他失去了數(shù)組或者集合的索引信? 息,如果要對(duì)數(shù)組或集合里指定位置上的元素進(jìn)行操作,建議使用傳統(tǒng)的for循環(huán),如果只是遍歷集合或數(shù)組里面的每一個(gè)元素,建議采用增強(qiáng)型的for循環(huán)。
2.自動(dòng)裝箱與拆箱
舉例:BoxTest.java
package com.shengsiyuan.jdk5;
import java.util.ArrayList;
import java.util.Collection;
public class BoxTest
{
public static void main(String[] args)
{
int a = 3;
Collection c = new ArrayList();
c.add(3);//將int類型的3轉(zhuǎn)換為Integer類型并放到集合當(dāng)中
c.add(a + 3);
for(Integer i : c)
{
System.out.println(i);
}
}
}
說明:自動(dòng)裝箱與拆箱常用于集合中,當(dāng)往集合里面放入原生數(shù)據(jù)類型的時(shí)候,java會(huì)自動(dòng)將其包裝成該原生數(shù)據(jù)類型對(duì)應(yīng)的包裝類,這就叫裝箱,反之叫拆箱。
另外需要特別說明的是:Integer類有一個(gè)緩存,它會(huì)緩存介于-128~127之間的整數(shù)。緩存是指第二次生成一個(gè)已經(jīng)實(shí)例化好的實(shí)例時(shí),Java會(huì)自動(dòng)的去緩存里面尋找以前生成的實(shí)例并將該值給它,而不會(huì)再去new一個(gè),所以之前生成和之后生成的是兩個(gè)相同的實(shí)例。
舉例:BoxTest2.java
package com.shengsiyuan.jdk5;
public class BoxTest2
{
public static void main(String[] args)
{
Integer i1 = 100;
Integer i2 = 100;
if(i1 == i2)
{
System.out.println("i1 == i2");
}
else
{
System.out.println("i1 != i2");
}
}
}
上面的程序執(zhí)行結(jié)果為i1 == i2,但如果將2個(gè)數(shù)值改為200,則就是i1 != i2,原因就在于Integer類型的緩存機(jī)制。
備注:如果改為Integer i1 = new Integer(100) ;
Integer i2 = new Integer(100);
則i1!=i2,用構(gòu)造方法先new一個(gè),再new一個(gè),肯定是兩個(gè)不同的實(shí)例。
3.可變參數(shù)
可變參數(shù):可變參數(shù)本質(zhì)上就是一個(gè)數(shù)組,對(duì)于某個(gè)聲明了可變參數(shù)的方法來說,我們既可以傳遞離散的值,也可以傳遞數(shù)組對(duì)象。但如果將方法中的參數(shù)定義為數(shù)組,那么只能傳遞數(shù)組對(duì)象而不能傳遞離散的值。
可變參數(shù)必須要作為方法參數(shù)的最后一個(gè)參數(shù),即一個(gè)方法不可能具有兩個(gè)或兩個(gè)以上的可變參數(shù)。
舉例:TestVarargs.java
package com.shengsiyuan.jdk5;
public class TestVarargs
{
private static int sum(String str, int... nums)
{
System.out.println(str);
int sum = 0;
for (int num : nums)
{
sum += num;
}
return sum;
}
public static void main(String[] args)
{
int result = sum("a", new int[] { 1, 2 });
System.out.println(result);
result = sum("b", 1, 2, 3, 4);
System.out.println(result);
}
}
說明:int... nums中的...不能少,它就代表可變參數(shù),可變參數(shù)代表可以往方法里面?zhèn)魅肴我鈹?shù)量的參數(shù),只要它是定義的類型即可。
總結(jié)
以上是生活随笔為你收集整理的java 张龙_张龙 JAVA5新特性学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js正则贪婪模式_C# 正则表达式贪婪模
- 下一篇: java数组split_js数组接受sp