?? jdkfeature.java
字號:
package cn.edu.zju.jf;
import static java.lang.Math.*; // 靜態導入
/*
* 1.選擇4個jdk1.5的新特色做介紹,并且評價這些特色。例如varargs。
* a)泛型
為集合(collections)提供編譯時類型安全,無需每刻從Collections取得一個
對象就進行強制轉換(cast)。因為對不清楚的對象進行強制類型轉換是不安全
的,并且更重要的是,它將在運行時失敗。
* b)自動置入/自動取出
無需在基本類型(primitive types)(例如double)和包裝類型(wrapper
types)(例如Double)之間人工地進行轉換。
* c)靜態導入
當時使用靜態導入,我們無需為常量名前綴類名就能使用這些常量。靜態導入使
代碼更易讀。
* d)格式化輸出
以前的jdk沒有printf,現在有了
*
* 2.寫一段代碼,要求代碼涉及到你所評價的4個特色。
*/
public class jdkfeature
{
public static void main(String[] args)
{
String[] words = { "Mary", "had", "a", "little", "lamb" };
Pair<String> mm = ArrayAlg.minmax(words);
System.out.println("min = " + mm.getFirst());
System.out.println("max = " + mm.getSecond());
Employee i = new Employee(10);
// 格式化輸出方式
System.out.printf("%d %.2f", i.afterTenYears(), i.doubeWage(100.0));
}
}
class Employee
{
Integer age;
Double res;
/**
* the constructor function
* @param m
*/
public Employee(int m) {
age = m;
}
/**
* compute the age
* @return age of employee
*/
public int afterTenYears() {
return age + 10; // 自動置入/自動取出,先把age轉化為int,然后在結果轉化為Integer
}
public Double doubeWage(Double r) {
return res = sqrt(r); // 靜態導入后,sqrt可以直接使用
}
}
class ArrayAlg
{
/**
Gets the minimum and maximum of an array of strings.
@param a an array of strings
@return a pair with the min and max value, or null if a is
null or empty
*/
public static Pair<String> minmax(String[] a)
{
if (a == null || a.length == 0) return null;
String min = a[0];
String max = a[0];
for (int i = 1; i < a.length; i++)
{
if (min.compareTo(a[i]) > 0) min = a[i];
if (max.compareTo(a[i]) < 0) max = a[i];
}
return new Pair<String>(min, max);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -