2014-02-14 107 views
1

這段代碼在底部的代碼中意味着什麼?Scala/Java語法,返回接口實現

return Promise.<SimpleResult>pure //why is the dot 

我是新來的Scala和Java 6,什麼是相關主題/術語?

如果框架沒有找到請求的操作方法,在onHandlerNotFound 操作將被稱爲:

import play.*; 
import play.mvc.*; 
import play.mvc.Http.*; 
import play.libs.F.*; 

import static play.mvc.Results.*; 

public class Global extends GlobalSettings { 

    public Promise<SimpleResult> onHandlerNotFound(RequestHeader request) { 
     return Promise.<SimpleResult>pure(notFound(
      views.html.notFoundPage.render(request.uri()) 
     )); 
    } 

}

更新

play.libs.F.Java文件

public static class Promise<A> { 

    public static <A> Promise<A> pure(final A a) { 
     return FPromiseHelper.pure(a); 
    } 
} 

什麼是<A>Promise<A>

回答

5
Promise.pure()

是一個通用的方法,參數與一些類型T.

Promise.<SimpleResult>pure()調用此方法與SimpleResult作爲一般類型。大多數時候,這樣做是可選的,因爲編譯器推斷從該方法的參數或從結果被分配給,象變量的類型在

List<String> s = Collections.emptyList(); 

通用類型是用於

一個快捷方式
List<String> s = Collections.<String>emptyList(); 

Set<String> Collections.singleton("hello"); 

這是

一個快捷方式