自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 7新功能代碼范例

原創(chuàng)
開發(fā) 后端
在Java 7已經完成的新功能中,本文作者總結了會影響到我們編碼方式的四個主要更改,并附上一個簡短的示例。有興趣的話,現(xiàn)在就嘗試一下吧。

#t#【51CTO精選譯文】JDK7 milestone 5 更新已可以下載?,F(xiàn)在,開發(fā)人員有機會嘗試使用這種語言的新語法進行編碼,然后看看它到底如何。今天我們介紹了Java 7中已經完成的七大功能,而以下四個主要的更改會影響到我們使用 java 以及 JKD 7 編碼的方式:
◆在數(shù)字中使用下劃線
◆改進的通用實例創(chuàng)建類型推斷(diamond)
◆在switch語句中使用字符串
◆使用二進制字符

51CTO推薦專題:Java 7 下一代Java開發(fā)技術詳解

下面是一個簡短的示例,用于檢驗這些新功能。使用普通的文本編輯器,還有你離不開的老朋友 javac 和 java,可以進行測試(IDE 還不支持新的語法,應該會報錯)。

  1. public class Jdk7Tests {  
  2.    
  3.     public static void main(String[] args) {  
  4.         Jdk7Tests jdk7Tests = new Jdk7Tests();  
  5.         jdk7Tests.integersWithUnderscores();  
  6.         jdk7Tests.stringSwitch();  
  7.         jdk7Tests.binaryLiteral();  
  8.         jdk7Tests.diamond();  
  9.     }  
  10.    
  11.     private void integersWithUnderscores()  
  12.     {  
  13.         int i = 1_2;  
  14.         System.out.println(i);  
  15.         i*=10;  
  16.         System.out.println(i);  
  17.         int j=2_0;  
  18.         System.out.println(i-j);         
  19.     }  
  20.    
  21.     private void stringSwitch()  
  22.     {  
  23.         String key = "akey";  
  24.         switch (key)  
  25.         {  
  26.         case "":  
  27.         {  
  28.             System.out.println("Nothing");  
  29.             break;  
  30.         }  
  31.    
  32.         case "akey":  
  33.         {  
  34.             System.out.println("Matched akey");  
  35.             break;  
  36.         }  
  37.         default:  
  38.         break;  
  39.         }  
  40.     }  
  41.    
  42.     private void binaryLiteral()  
  43.     {  
  44.         byte aByte = (byte)0b001;  
  45.         short aShort = (short)0b010;  
  46.         System.out.println(aByte + " " + aShort);  
  47.     }  
  48.    
  49.     private void diamond()  
  50.     {  
  51.         Set set = new TreeSet<>();  
  52.         set.add("c");  
  53.         set.add("b");  
  54.         set.add("a");  
  55.         for (String val : set)  
  56.         {  
  57.             System.out.println(val);  
  58.         }  
  59.     }  
  60. }  
  61.  

下劃線和數(shù)字:

對于身份證或電話號碼,數(shù)字中間需要有分割符號的數(shù)字,該功能非常有用。不必再將數(shù)據(jù)放入一個字符串中,然后對其進行語法分析,剔除下劃線,再將其放入一個整數(shù)中。不過,當你使用帶有下劃線的數(shù)字進行運算時,可能會有點困惑。比如 1_2 * 2 的結果是多少?從上述示例中代碼,可以看出,JVM 處理這些運算時將下劃線剔除了。因此,1_2 * 10 = 120,并且 120 – 2_0 = 100。很簡單。

Diamond:

這個功能應該可以簡化集合的實例化。為了迎接 JKD 7 的到來,是時候更新我的自動完成代碼模板了。按照我的看法,讀 diamond()方法中的代碼,稍微容易點。不過,對于語法沒有改善什么。

使用字符串的 switch 語句:

這是相當不錯的功能?,F(xiàn)在除了整數(shù)等等之外,你還可以使用字符串進行跳轉(swtich)。利用這個功能,可簡化將整數(shù)變量分配到相應的字符串變量的代碼。包含多處回調方法的代碼通常會在某一處設置一個整數(shù)變量,表示利用 switch 構造,找到某個特定字符串,然后稍后對此進行處理。利用這個技巧,某些開發(fā)人員編寫了使用 SAX 處理 XML 的代碼。對于使用了這個功能的代碼,應該能夠減少幾行。

二進制字面量:

現(xiàn)在,你可以使用二進制字面量這種表示方式,并且使用非常簡短的代碼,可將二進制字符轉換為數(shù)據(jù)類型,如在byte或short。我還想不到哪里會經常用到這個功能,但某些涉及到比特的編程實現(xiàn)問題會較容易解決。

其他有趣的功能不一定會影響到編程,比如更好的算法實施和性能改善。據(jù)說對于某些應用程序,這些改善讓性能提升了數(shù)倍。有時間,你應該親自測試一下。

原文:Coding with JDK7 作者:CertPal

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2012-07-10 10:08:32

紅帽RHEL 7

2009-09-22 15:24:20

Windows 7新功文件管理

2009-09-22 15:15:02

Windows 7新功文件搜索Windows Sea

2009-02-18 21:16:16

2009-07-07 08:46:11

微軟Windows 7新功能

2009-09-22 15:52:30

Windows 7新功磁盤加密Bitlocker

2009-03-24 17:43:08

shaderGPUSilverlight

2009-09-22 15:59:57

Windows 7新功Jumplist開始菜單

2009-09-22 16:03:55

Windows 7新功媒體中心

2009-09-22 15:47:11

2009-09-22 15:31:50

Windows 7新功家庭組網(wǎng)絡共享

2012-04-25 11:04:13

Visual Stud

2009-11-26 10:52:01

Java 7

2009-08-31 18:40:01

Java 7新功能

2014-06-19 15:29:44

RHEL 7.0系統(tǒng)安裝

2009-09-22 15:40:11

Windows 7新功畫圖板

2009-07-07 08:51:00

微軟Windows 7新功能

2009-07-07 08:49:33

微軟Windows 7新功能

2009-06-12 08:45:14

微軟Windows 7操作系統(tǒng)

2012-03-26 10:14:25

JavaJava 8
點贊
收藏

51CTO技術棧公眾號