欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java5、6、7中的新特性有哪些

Java5、6、7中的新特性有哪些?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有海晏免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Java5:

1、泛型 Generics:

引用泛型之后,允許指定集合里元素的類型,免去了強(qiáng)制類型轉(zhuǎn)換,并且能在編譯時(shí)刻進(jìn)行類型檢查的好處。Parameterized Type作為參數(shù)和返回值,Generic是vararg、annotation、enumeration、collection的基石。

A、類型安全

拋棄List、Map,使用List、Map給它們添加元素或者使用Iterator遍歷時(shí),編譯期就可以給你檢查出類型錯(cuò)誤

B、方法參數(shù)和返回值加上了Type

拋棄List、Map,使用List、Map

C、不需要類型轉(zhuǎn)換

List list=new ArrayList();
String str=list.get(i);

D、類型通配符“?”

假設(shè)一個(gè)打印List中元素的方法printList,我們希望任何類型T的List都可以被打?。?/p>

代碼:

public void printList(List list,PrintStream out)throws IOException{
for(Iterator i=list.iterator();i.hasNext();){
System.out.println(i.next.toString());
}
}

如果通配符?讓我們的參數(shù)類型過于廣泛,我們可以把List、Iterator 修改為

List、Iterator限制一下它。

2、枚舉類型 Enumeration:

3、自動(dòng)裝箱拆箱(自動(dòng)類型包裝和解包)autoboxing & unboxing:

  簡(jiǎn)單的說是類型自動(dòng)轉(zhuǎn)換。

自動(dòng)裝包:基本類型自動(dòng)轉(zhuǎn)為包裝類(int ——Integer)

自動(dòng)拆包:包裝類自動(dòng)轉(zhuǎn)為基本類型(Integer——int)

4、可變參數(shù)varargs(varargs number of arguments)

參數(shù)類型相同時(shí),把重載函數(shù)合并到一起了。
如:

public void test(object... objs){
for(Object obj:objs){
System.out.println(obj);
}
}

5、Annotations 它是java中的metadata

A、Tiger中預(yù)定義的三種標(biāo)準(zhǔn)annotation

a 、Override

指出某個(gè)method覆蓋了superclass 的method當(dāng)你要覆蓋的方法名拼寫錯(cuò)時(shí)編譯不通過

b、Deprecated

指出某個(gè)method或element類型的使用是被阻止的,子類將不能覆蓋該方法

c、SupressWarnings

關(guān)閉class、method、field、variable 初始化的編譯期警告,比如:List沒有使用 Generic,則@SuppressWarnings("unchecked")去掉編譯期警告。

B、自定義annotation

public @interface Marked{}

C、meta-annotation

或者說annotation的annotation

四種標(biāo)準(zhǔn)的meta-annotation全部定義在java.lang.annotaion包中:

a, Target

指定所定義的annotation可以用在哪些程序單元上

如果Target沒有指定,則表示該annotation可以使用在任意程序單元上

代碼

 @Target({ElementType.ANNOTATION_TYPE, 
       ElementType.CONSTRUCTOR, 
       ElementType.FIELD, 
       ElementType.LOCAL_VARIABLE, 
       ElementType.METHOD, 
       ElementType.PACKAGE, 
       ElementType.PARAMETER, 
       ElementType.TYPE}) 
  public @interface TODO {} 

b, Retention

指出Java編譯期如何對(duì)待annotation

annotation可以被編譯期丟掉,或者保留在編譯過的class文件中

在annotation被保留時(shí),它也指定是否會(huì)在JVM加載class時(shí)讀取該annotation

代碼

 @Retention(RetentionPolicy.SOURCE) // Annotation會(huì)被編譯期丟棄 
  public @interface TODO1 {} 
  @Retention(RetentionPolicy.CLASS)  // Annotation保留在class文件中,但會(huì)被JVM忽略 
  public @interface TODO2 {} 
  @Retention(RetentionPolicy.RUNTIME) // Annotation保留在class文件中且會(huì)被JVM讀取 
  public @interface TODO3 {} 

c, Documented

指出被定義的annotation被視為所熟悉的程序單元的公開API之一

被@Documented標(biāo)注的annotation會(huì)在javadoc中顯示,這在annotation對(duì)它標(biāo)注的元素被客戶端使用時(shí)有影響時(shí)起作用

d, Inherited

該meta-annotation應(yīng)用于目標(biāo)為class的annotation類型上,被此annotattion標(biāo)注的class會(huì)自動(dòng)繼承父類的annotation

D, Annotation的反射

我們發(fā)現(xiàn)java.lang.Class有許多與Annotation的反射相關(guān)的方法,如getAnnotations、isAnnotationpresent

我們可以利用Annotation反射來做許多事情,比如自定義Annotation來做Model對(duì)象驗(yàn)證

代碼

 @Retention(RetentionPolicy.RUNTIME) 
  @Target({ ElementType.FIELD, ElementType.METHOD }) 
  public @interface RejectEmpty { 
    /** hint title used in error message */ 
    String value() default ""; 
  }    
  @Retention(RetentionPolicy.RUNTIME) 
  @Target( { ElementType.FIELD, ElementType.METHOD }) 
  public @interface AcceptInt { 
    int min() default Integer.MIN_VALUE; 
    int max() default Integer.MAX_VALUE; 
    String hint() default ""; 
  } 

使用@RejectEmpty和@AcceptInt標(biāo)注我們的Model的field,然后利用反射來做Model驗(yàn)證

6、新的迭代語句(for(int n:numbers))

7、靜態(tài)導(dǎo)入(import static )

8、新的格式化方法(java.util.Formatter)

formatter.format("Remaining account balance: $%.2f", balance);

9、新的線程模型和并發(fā)庫Thread Framework

HashMap的替代者ConcurrentHashMap和ArrayList的替代者CopyOnWriteArrayList

在大并發(fā)量讀取時(shí)采用java.util.concurrent包里的一些類會(huì)讓大家滿意BlockingQueue、Callable、Executor、Semaphore... 

Java6:

1、引入了一個(gè)支持腳本引擎的新框架

2、UI的增強(qiáng)

3、對(duì)WebService支持的增強(qiáng)(JAX-WS2.0和JAXB2.0)

4、一系列新的安全相關(guān)的增強(qiáng)

5、JDBC4.0

6、Compiler API

7、通用的Annotations支持

 Java7:

1,switch中可以使用字串了

String s = "test"; 
switch (s) { 
case "test" : 
System.out.println("test"); 
case "test1" : 
System.out.println("test1"); 
break ; 
default : 
System.out.println("break"); 
break ; 
}

2.運(yùn)用List tempList = new ArrayList<>(); 即泛型實(shí)例化類型自動(dòng)推斷

3.語法上支持集合,而不一定是數(shù)組

final List piDigits = [ 1,2,3,4,5,8 ];

4.新增一些取環(huán)境信息的工具方法

File System.getJavaIoTempDir() // IO臨時(shí)文件夾
File System.getJavaHomeDir() // JRE的安裝目錄
File System.getUserHomeDir() // 當(dāng)前用戶目錄
File System.getUserDir() // 啟動(dòng)java進(jìn)程時(shí)所在的目錄5

5.Boolean類型反轉(zhuǎn),空指針安全,參與位運(yùn)算

Boolean Booleans.negate(Boolean booleanObj)
True => False , False => True, Null => Null
boolean Booleans.and(boolean[] array)
boolean Booleans.or(boolean[] array)
boolean Booleans.xor(boolean[] array)
boolean Booleans.and(Boolean[] array)
boolean Booleans.or(Boolean[] array)
boolean Booleans.xor(Boolean[] array)

6.兩個(gè)char間的equals

boolean Character.equalsIgnoreCase(char ch2, char ch3)

7.安全的加減乘除

int Math.safeToInt(long value)
int Math.safeNegate(int value)
long Math.safeSubtract(long value1, int value2)
long Math.safeSubtract(long value1, long value2)
int Math.safeMultiply(int value1, int value2)
long Math.safeMultiply(long value1, int value2)
long Math.safeMultiply(long value1, long value2)
long Math.safeNegate(long value)
int Math.safeAdd(int value1, int value2)
long Math.safeAdd(long value1, int value2)
long Math.safeAdd(long value1, long value2)
int Math.safeSubtract(int value1, int value2)

8.map集合支持并發(fā)請(qǐng)求,且可以寫成 Map map = {name:"xxx",age:18};

看完上述內(nèi)容,你們掌握J(rèn)ava5、6、7中的新特性有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享文章:Java5、6、7中的新特性有哪些
文章URL:http://chinadenli.net/article2/jgggic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)App設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站排名、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
欧美精品在线播放一区二区| 欧美视频在线观看一区| 丰满熟女少妇一区二区三区| 精品国产av一区二区三区不卡蜜 | 日韩精品一区二区亚洲| 在线免费观看黄色美女| 国产精品涩涩成人一区二区三区| 亚洲中文字幕在线观看四区| 亚洲国产天堂av成人在线播放| 国产超碰在线观看免费| 国产成人午夜福利片片| 久久精品国产99精品最新| 亚洲熟妇熟女久久精品 | 成人精品欧美一级乱黄| 蜜臀人妻一区二区三区| 福利视频一区二区在线| 国产一区二区三区av在线| 午夜久久精品福利视频| 久久99这里只精品热在线| 亚洲夫妻性生活免费视频| 激情综合五月开心久久| 99在线视频精品免费播放| 男女午夜视频在线观看免费| 五月天综合网五月天综合网| 久久国产青偷人人妻潘金莲| 91天堂免费在线观看| 中文字幕精品少妇人妻| 日韩精品一区二区三区射精| 人妻熟女欲求不满一区二区| 国产又猛又黄又粗又爽无遮挡 | 性感少妇无套内射在线视频| 成人免费高清在线一区二区| 久久精品亚洲精品国产欧美| 国产丝袜美女诱惑一区二区| 日韩欧美三级视频在线| 亚洲熟女一区二区三四区| 亚洲淫片一区二区三区| 福利新区一区二区人口| 麻豆印象传媒在线观看| 日本99精品在线观看| 性欧美唯美尤物另类视频|