[英]In Java is it possible to assign a method reference to a variable whose class has a generic type?
[英]Java 8: Is it possible to assign a method reference to a variable?
我用Google搜索了這個問題的答案,但是找不到。
在Java 8中,我知道這是可能的:
// someMethod is defined as: someMethod(AFunctionalInterface i)
someMethod(someObject::someOtherMethod);
問題是:是否可以執行以下操作
AFunctionalInterface i = anObject::SomeMethod;
另外,是否可以像這樣將lambda分配給變量並將其傳遞呢?
Printer f = () -> System.out.println(..); methodThatTakesPrinter(f);
是的,根據JLS中引用的示例,這是可能的:
Task t = () -> System.out.println("hi"); Runnable r = t::invoke;
另外,聲明以下內容:
如果T是功能接口類型(第9.8節)並且該表達式與基本目標的功能類型一致,則方法引用表達式在分配上下文 [強調礦井],調用上下文或強制轉換上下文中與目標類型T兼容。從T派生的類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.