Java中的双冒号::是什么玩意?有这个语法?

本文介绍了Java中双冒号::所代表的方法引用,包括静态方法引用、实例方法引用和构造方法引用的使用。同时讲解了Optional类,它是Java 8引入的一个新特性,用于处理可能存在的null值,避免空指针异常。文章通过实例展示了Optional的常用方法,如of、isPresent、ifPresent等,并探讨了方法引用与函数式接口的关系。
摘要由CSDN通过智能技术生成

Java中的双冒号::是什么玩意?有这个语法?
简洁
方法引用
Optional 可选值
一:简洁
方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式

静态方法引用,通过类名::静态方法名, 如 Integer::parseInt
实例方法引用,通过实例对象::实例方法,如 str::substring
构造方法引用,通过类名::new, 如 User::new
二:方法引用

public final class Integer
{
public static int parseInt(String s) throws NumberFormatException
{
return parseInt(s,10);
}
}
通过方法引用,可以将方法的引用赋值给一个变量,通过赋值给Function,说明方法引用也是一种函数式接口的书写方式,Lambda表达式也是一种函数式接口,Lambda表达式一般用于自己提供方法体,而方法引用一般直接引用现成的方法。

public class User
{
private String username;
private Integer age;
public User()
{
}
public User(String username, Integer age)
{
this.username = username;
this.age = age;
}
@Override
public String toString()
{
return “User{” + “username='” + username + ‘’’ + “, age=” + age + ‘}’;
}
// Getter&Setter
}
public static void main(String[] args)
{
// 使用双冒号::来构造静态函数引用
Function<String, Integer> fun = Integer::parseInt;
Integer value = fun.apply(“123”);
System.out.prin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值