JDK5.0新特性1
阿新 • • 發佈:2020-08-26
本章目標:
1.靜態匯入
2.自動裝箱/拆箱
3.for-each迴圈
4.可變引數
5.列舉
1.靜態匯入語句使用 import static 語句
1 匯入指定類的單個靜態屬性:
2 import static java.lang.System.out
3 匯入指定類全部靜態屬性
4 import static java.lang.Math.*
2.自動裝箱與自動拆箱:
•自動裝箱(autoboxing):把一個基本資料型別直接賦給對應的包裝類變數, 或者賦給 Object 變數
• 自動拆箱:把包裝類物件直接賦給一個對應的基本型別變數
3.程式碼展示:
public static void main(String[] args) {
Integer a1=100;
Integer a2=100;
System.out.println(a1==a2);
System.out.println(a1.equals(a2));
int b1=100;
int b2=100;
System.out.println(b1==b2);
Integer c1 =-127;
Integer c2=-127;
System.out.println(c1==c2);
System.out.println(c1.equals(c2));
// 在-128--127這個範圍內直接賦值int數值,Integer不會new 物件;
Integer d1=Integer.valueOf(100);
Integer d2=Integer.valueOf(100);
System.out.println(d1==d2);
}
執行結果展示:
true truetrue true true true
4.使用foreach迴圈遍歷陣列和集合元素時, 無須獲得陣列和集合長度, 無須根據索引來訪問陣列元素和集合元素,
forearch 迴圈自動遍歷陣列和集合的每個元素
for(type varName : array | collection) {
//varName 自動迭代訪問每一個元素
}
public static void main(String[] args) { //增強型for迴圈,不是基於index下標去遍歷的,可用Set來證明 List list=new ArrayList(); list.add("唐"); list.add("婷"); list.add("櫟"); for (int i=0;i<list.size();i++){ System.out.println(list.get(i)); } for (Object li:list) { System.out.println(li); } Set set=new HashSet(); set.add("Tang"); set.add("Ting"); set.add("Yue"); for (Object se:set) { System.out.println(se); } }
5.若在定義方法時, 在最後一個形參的型別後增加三點(…), 則表明該形參可以接受多個引數值, 多個引數值被當成陣列傳入 可變形參只能處於形參列表的最後,
所以一個方法最多隻能有一個長度可變的形參
public class Demo4 { public static void main(String[] args) { Demo4.fun("aa"); Demo4.fun("bb",1); Demo4.fun("cc",1,2,3); int[] arr = new int[]{10,20,30}; Demo4.fun("dd",arr); } public static void fun(String s,int... x){ System.out.println("___________"); System.out.println(x.length); for (int i: x) { System.out.println(i); }
心得:
上蒼真的很公平,命運在向你關閉一扇窗的同時,又為你打開了另一扇窗。世上的任何事是多面的,
我們看到的只是其中的一個側面,這個側面讓你痛苦,但痛苦往往可以轉化。任何不幸,失敗與損失,都有可能成為我們有利的因素。