熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

Java中7關於#的用法

2013-11-15 12:08:34  來源: JSP教程 

  你認識“#”麼?讓我猜猜看應該不太熟吧因為在Java時代“#”僅僅用於在編寫javadoc的注釋內容用於鏈接(@see)到對應類的具體方法除此之外在編寫代碼的時候我們幾乎不會用到它

  不過別驚訝在Java 發布之後“#”或許將成為Java程序員最熟悉的朋友!因為在幾天前(編輯注本文翻譯於月底當時Sun剛剛公布說Java 將包含簡單的閉包)Sun的Java SE和OpenJDK的首席工程師Mark Reinhold剛剛宣布Java 將加入一個簡化版的“閉包”特性其中的關鍵符號就是“#”也因為這個原因Java 的正式發布時間將從月份推遲到月份

  在Java “#”將讓函數方法成為Java語言的一等公民下面來看看如何用#語法實現“閉包”的吧

  簡單的方法引用示例

  比如要引用String類的equals方法應該這麼寫

  String#equals(Object)

  再看一個例子

  javaioFile#exists()

  事件監聽器 (代碼示例來自Cay Horstmann)

  使用閉包前

  buttonaddActionListener(

  new ActionListener() {

  public void actionPerformed(ActionEvent ){

  Systemoutprintln("Hi!"); }

  }

  );

  使用閉包後 :

  buttonaddActionListener(#(ActionEvent e) Systemoutprintln("Hi!));

  事件監聽器(代碼示例來自FSM )

  使用閉包前

  public void init() {

  JButton button = ;

  buttonaddActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent ev) {

  handleAction(ev);

  }

  });

  }

  public void handleAction(ActionEvent ev) {

  // handle event

  }

  使用閉包後

  使用閉包後

  public void init() {

  JButton button = ;

  buttonaddActionListener(this#handleAction(ActionEvent));

  }

  public void handleAction(ActionEvent ev) {

  // handle event

  }


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20381.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.