方法引用是只需要使用方法的名字,而具體呼叫交給函式式介面,需要和lambda表示式配合使用。
如:
list
list = arrays.aslist("a","b","c");
list.foreach(str -> system.out.print(str));
list.foreach(system.out::print);
上面兩種寫法是等價的。
格式:class::new
,呼叫預設構造器。
格式:class::static_method
格式:class::method
,方法不能帶引數。
格式:instance::method
往user類新增方法引用方法:
public
static user create(suppliersupplier)
public
static
void
updateusername(user user)
public
void
updateage()
public
void
changeage(user user)
方法引用測試:
public
static void main(string args)
private
static
list
initlist()
輸出結果:
user
[username=new, age=1]
user
[username=oaby updated., age=43]
user
[username=tom updated., age=31]
user
[username=john updated., age=36]
user
[username=jennis updated., age=46]
user
[username=tin updated., age=46]
user
[username=army updated., age=46]
user
[username=mack updated., age=39]
user
[username=jobs updated., age=85]
user
[username=jordan updated., age=43]
可以看出方法引用都生效了,username和age都相應更新了。
推薦閱讀
面經:史上最全j**a多執行緒面試題及答案
面經:史上最全阿里高階j**a面試題
面經:史上最全spring面試題
書籍:高階j**a架構師必看的15本書
JDK8新特性之方法引用
方法引用是只需要使用方法的名字,而具體呼叫交給函式式介面,需要和lambda表示式配合使用。如 listlist arrays.aslist a b c list.foreach str system.out.print str list.foreach system.out print 上面兩種寫...
JDK8新特性 方法構造方法的引用
一 建立實體類物件 public class person public person string firstname,string lastname override public string tostring public string getfirstname public void se...
Jdk8新特性之排序
comparator提供的方法 author wgr create 2020 4 13 16 12 public class person public string getname public void setname string name public integer getage publ...