成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Eclipse Xtend對(duì)Java說:我?guī)湍闶萆?/h1>

開發(fā) 后端
Xtend 更像是一種模板語言。它緊密的和 Eclipse IDE 捆綁在一起,要使用它,你需要安裝 Eclipse 的 Xtend 插件,Xtend 代碼并不是直接編譯成 JVM 字節(jié)碼的,當(dāng)你在IDE 編輯、保存 Xtend 代碼時(shí),它會(huì)自動(dòng)的編譯成相對(duì)應(yīng)的 Java 代碼。

Java 程序員在使用Ruby 編程時(shí)會(huì)有一種解放的感覺,一種從 Java 那繁瑣的語法環(huán)境進(jìn)入一個(gè)無拘無束、自由國度的感覺。隨著 Clojure 和 Scala 等新語言的出現(xiàn),這種對(duì)比的感覺會(huì)越來越強(qiáng)烈。Ruby 在很短的時(shí)間里異軍突起,很大的原因在于它的簡潔和自由,比如下面一句代碼:

  1. File.new("testfile") .each {|line| puts line[-1] } 

如果用 Java 來寫,不知道要寫多少行。Bruce Tate 在《七周七種語言》這本書中譴責(zé) Java 說:“我的手指在流血,因?yàn)槲也坏貌淮虺鲞@樣多的代碼;我的眼睛在流血,因?yàn)槲疫€要去讀它們。”呵呵,說的很形象。

其實(shí),Java 并不是誠心在為難程序員,它一直在改進(jìn)。而 Eclipse 基金會(huì)推出的一種叫做Xtend 語言正是為了要簡化Java 的語法,減輕 Java 程序員的負(fù)擔(dān)。

 

[[51111]]

 

又一種新語言?不要擔(dān)心。Xtend 更像是一種模板語言。它緊密的和 Eclipse IDE 捆綁在一起,要使用它,你需要安裝 Eclipse 的 Xtend 插件,Xtend 代碼并不是直接編譯成 JVM 字節(jié)碼的,當(dāng)你在 IDE 編輯、保存 Xtend 代碼時(shí),它會(huì)自動(dòng)的編譯成相對(duì)應(yīng)的 Java 代碼。

 

xtend-and-java

 

在上圖的右邊窗口里,你可以檢查生成的 Java 代碼是不是符合你的預(yù)期,并可以通過它調(diào)試你的程序。

那 Xtend 究竟能幫助Java 程序員做什么呢?面面俱到的介紹一種新語言是一種很復(fù)雜的事,我也不想考驗(yàn)各位的耐心。這里只舉例說明幾個(gè)大家一眼就能看出這種語言存在的價(jià)值的例子。

1. 類型推測

在 Java 里很多的表達(dá)式中,根據(jù)語句的右邊的代碼完全可以推導(dǎo)出左邊的類型,比如下面的 Java 語句:

  1. //Java  
  2. List names = getTheListOfNames () 

而在 Xtend 語言里,你就不必再聲明左邊的類型,直接寫成:

  1. val names = getTheListOfNames () 

在 for 循環(huán)里可以寫成這樣:

  1. for (name : getTheListOfNames ()) 

2. 對(duì)象屬性訪問方式的簡化

在 Java 里,對(duì)象屬性的訪問一般都是借用 set 和 get 方法實(shí)現(xiàn)的,在 Xtend 里,你可以直接這樣寫:

  1. person.name 

而不需要寫成:

  1. person.getName () 

賦值方法也是:

  1. person.name = "Foo" 

等同于

  1. person.setName ("Foo") 

還有一個(gè)特征很像 Ruby 里的用法,對(duì)于一個(gè)方法的調(diào)用,你可以寫成這樣:

  1. obj.compute 

而不需要寫成:

  1. obj.compute () 

3. Switch 語句

這條我不說,估計(jì)大家也都會(huì)明白。Java 里的 switch 語句只能接受數(shù)字或 char 類型的判斷參數(shù),而在 Xtend 里,沒有這種限制:

  1. val Shape shape = ...  
  2. switch (shape) {  
  3.   Rectangle case shape.width == shape.height :  
  4.      "Square ("+shape.width+")"  
  5.   Rectangle :  
  6.      "Rectangle ("+shape.width+" x "+shape.height+")"  
  7.   Circle :  
  8.      "Circle ("+shape.diameter+")"  
  9.   default :  
  10.        "Don't know"  

4. 模板表達(dá)式

在 Xtend 里,定義一個(gè)字符串,你可以寫成這樣:

  1. val msg =  'This is some multi line  
  2.           text with "double quotes" in it' 

請(qǐng)注意,這個(gè)字符串可以是多行的。

而在使用這個(gè)變量時(shí), 你可以寫成:

  1. def print_line (String msg)'''  
  2.       <h1><<msg>></h1> 
  3. ''' 

變量直接嵌入文本里!很像 PHP 或 Ruby 里的寫法。

5. 閉包

我最后介紹的當(dāng)然也是最強(qiáng)大的一個(gè)功能了,閉包。據(jù)說 Java 會(huì)在 xxxx (xxxx <=3000)年之前加入閉包功能,不過你不用等了。我們來看看 Xtend 里如何實(shí)現(xiàn)閉包:

  1. val predicate = [ Person person | "Hans" == person.name ]  
  2. persons.filter (predicate) 

這個(gè)閉包是用來實(shí)現(xiàn)過濾 persons 集合里 person.name=”Hans”的功能的。怎么樣,有點(diǎn)函數(shù)式編程語言的感覺吧。

Xtend 里還有很多的語言特征,這里就不一一敘述了,有興趣的朋友可以閱讀官方網(wǎng)站提供的HTML 在線文檔,或下載 PDF 版的文檔

通過上面的介紹,你的 Xtend 的感覺如何?

附:下面是 Xtend 官網(wǎng)上提供的一個(gè)介紹視頻:

原文:http://www.aqee.net/eclipse-xtend/

【編輯推薦】

  1. Eclipse推JVM語言Xtend 繼續(xù)擁抱Java
  2. 淺談Ruby on Rails中的include和extend
  3. Ruby之父松本行弘的編程人生
  4. 使用Ruby和Twitter來進(jìn)行數(shù)據(jù)挖掘
  5. Ruby開發(fā)者應(yīng)該熟悉的10個(gè)工具
責(zé)任編輯:陳貽新 來源: 外刊IT評(píng)論
相關(guān)推薦

2011-11-08 10:33:51

Xtend

2011-11-08 10:30:05

Eclipse

2011-12-19 09:36:33

JavaJDKubuntu

2012-06-05 10:59:24

BYOD

2015-11-23 17:32:19

新程序員程序員

2009-03-09 14:22:12

ApacheJavaEEJCP

2013-07-11 10:37:20

Java內(nèi)存模型

2025-04-08 11:30:00

DIM數(shù)據(jù)倉庫架構(gòu)

2020-06-29 09:18:32

Python數(shù)據(jù)工具

2015-04-24 10:11:42

無線安全偽基站

2021-03-23 10:25:05

Redis數(shù)據(jù)結(jié)構(gòu)

2009-01-04 17:08:41

2021-08-23 14:36:26

coredump

2014-07-24 13:32:01

Google NowSiri

2012-08-28 09:12:52

App瘦身

2021-04-30 17:02:52

coredump內(nèi)核故障

2020-12-16 06:33:06

thisJava調(diào)用

2015-04-16 13:41:24

2024-03-26 07:58:12

Redis編程模型

2009-03-19 09:02:26

Windows 7微軟硬件廠商
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 天堂免费看片 | 日韩精品一区二区三区中文字幕 | 国产精品激情 | 最新国产精品精品视频 | 国产精品毛片无码 | 免费观看一级特黄欧美大片 | 欧美成人在线影院 | 欧美理论片在线 | 亚洲一区二区在线视频 | 狠狠爱一区二区三区 | 一区二区日韩 | 免费在线黄 | 国产精品久久久久久久久久免费看 | 欧美一级视频免费看 | 国产美女精品视频 | 日韩精品免费 | 涩在线| 在线观看日本网站 | 亚洲国产精品激情在线观看 | 久久国产精品-国产精品 | 欧美精品一区二区三区在线播放 | 亚洲精品乱码久久久久久按摩观 | 久久综合欧美 | 一区二区中文字幕 | 精品91久久 | 免费精品视频在线观看 | 亚洲一区中文字幕在线观看 | 黄色免费三级 | 天堂在线中文字幕 | 中文字幕一区二区三区精彩视频 | 在线免费亚洲视频 | 视频一区二区在线观看 | 麻豆av片 | 国产成人精品一区二区三区网站观看 | 国产精品美女久久久久久不卡 | 91精品中文字幕一区二区三区 | 久草网址 | 色综合桃花网 | 国产成人精品a视频一区www | 免费v片在线观看 | 免费一级做a爰片久久毛片潮喷 |