java带回调的写法_java8 回调新写法和空指针处理

@FunctionalInterface

public interface IPlay {

String show(String msg);

default String make(){

return "make";

}

}

public class Person {

private String userName;

private String password;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

import java.util.Optional;

public class Main {

public static void main(String[] args) {

IPlay play1 = new IPlay() {

@Override

public String show(String msg) {

return "原来的写法如下";

}

};

// 现在的写法

IPlay play = (msg)->{return msg;};

String msg = play.show("我是消息");

System.out.println(msg);

msg = play.make();

System.out.println(msg);

// Optional 更多的体现是一个容器,包含null的一个容器。通过他去判断。

Person person = null;

Optional optional = Optional.ofNullable(person);

boolean flag = optional.isPresent();

System.out.println(flag);

if (flag){

person = optional.get(); // 获取对象进行处理。

System.out.println(person);

}else{

System.out.println("person is null");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回调函数是指在编程中,将一个函数作为参数传递给另一个函数,并在需要的时候被调用执行的函数。回调函数的写法有多种形式。 一种常见的写法是使用函数字符串,通过调用`call_user_func`函数来执行回调函数。例如,在PHP中可以使用以下方式定义和调用回调函数: ``` function insert($i){ echo "插入数据{$i}\n"; // 模拟插入数据库插入的操作 return true; } $arr = range(0, 1000); function action(array $arr, callable $function){ foreach ($arr as $key => $value) { if ($value % 10 == 0){ // 当满足条件时,执行回调函数处理 call_user_func($function, $value); // 调用回调事件 } } } action($arr, 'insert'); ``` 另一种常见的写法是使用匿名函数作为回调函数。匿名函数是一种没有具体名称的函数,可以直接在调用时定义和传递。例如,在PHP中可以使用以下方式定义和调用匿名函数作为回调函数: ``` $arr = range(0, 1000); function action(array $arr, callable $function){ foreach ($arr as $key => $value) { if ($value % 10 == 0){ // 当满足条件时,执行回调函数处理 call_user_func($function, $value); // 调用回调事件 } } } action($arr, function($i){ echo "插入数据{$i}\n"; return true; }); ``` 此外,还可以使用类静态方法和类方法作为回调函数。类静态方法可以直接通过类名调用,而类方法需要先创建一个类的实例对象。例如,在PHP中可以使用以下方式定义和调用类静态方法和类方法作为回调函数: ``` $arr = range(0, 1000); function action(array $arr, callable $function){ foreach ($arr as $key => $value) { if ($value % 10 == 0){ // 当满足条件时,执行回调函数处理 call_user_func($function, $value); // 调用回调事件 } } } class A { static function insert($i){ echo "插入数据{$i}\n"; return true; } } action($arr, 'A::insert'); action($arr, array('A', 'insert')); class A { function insert($i){ echo "插入数据{$i}\n"; return true; } } $a = new A(); action($arr, array($a, 'insert')); ``` 综上所述,回调函数的写法包括使用函数字符串、匿名函数、类静态方法和类方法等多种形式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值