📜  Java中的 LongUnaryOperator 接口

📅  最后修改于: 2022-05-13 01:54:59.813000             🧑  作者: Mango

Java中的 LongUnaryOperator 接口

LongUnaryOperator 接口Java .util 的一部分。从Java 8 开始引入的函数包,用于在Java中实现函数式编程。它表示一个函数,该函数接受一个参数并对其进行操作。它的参数和返回类型都是长数据类型。它与使用 UnaryOperator 类型的对象非常相似。

分配给 UnaryOperator 类型对象的 lambda 表达式用于定义其applyAsLong() ,最终将给定操作应用于其参数。

LongUnaryOperator 接口中的函数

LongUnaryOperator 接口由以下函数组成:

1. 身份()

此方法返回一个 LongUnaryOperator,它接受一个 long 值并返回它。返回的 LongUnaryOperator 不对它的唯一值执行任何操作。

句法:

static  LongUnaryOperator identity()

参数:该方法不带任何参数

返回:一个 LongUnaryOperator,它接受一个值并返回它。

下面是说明 identity() 方法的代码:

import java.util.function.LongUnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
        LongUnaryOperator
            op
            = LongUnaryOperator.identity();
  
        System.out.println(op.applyAsLong(12));
    }
}
输出:
12

2.applyAsLong()

此方法接受一个 long 值,执行给定的操作并返回一个 long 值的结果。

句法:

long applyAsLong(long operand)

参数:该方法接受一个长值参数

Returns: : 它返回一个长值结果。

下面是说明 applyAsLong() 方法的代码:

程序

import java.util.function.LongUnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        LongUnaryOperator
            op
            = a -> 2 * a;
  
        System.out.println(op.applyAsLong(12));
    }
}
输出:
24

3.addThen()

它返回一个组合的 LongUnaryOperator,其中参数化运算符将在第一个运算符之后执行。如果任一操作引发错误,则会将其转发给组合操作的调用者。

句法:

default LongUnaryOperator andThen(LongUnaryOperator after)

参数:此方法接受一个参数,在该参数之后是要在当前参数之后应用的操作。

返回值:此方法返回一个组合的 LongUnaryOperator ,它首先应用当前操作,然后应用 after 操作。

异常:如果 after 操作为 null,则此方法抛出NullPointerException

下面是说明 addThen() 方法的代码:

方案一:

import java.util.function.LongUnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        LongUnaryOperator op = a -> 2 * a;
  
        op = op.andThen(a -> 3 * a);
  
        System.out.println(op.applyAsLong(12));
    }
}
输出:
72

程序2:演示何时返回NullPointerException。

import java.util.function.LongUnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        try {
  
            LongUnaryOperator op = a -> 2 * a;
  
            op = op.andThen(null);
  
            System.out.println(op.applyAsLong(12));
        }
        catch (Exception e) {
  
            System.out.println("Exception: " + e);
        }
    }
}
输出:
Exception: java.lang.NullPointerException

4. 组合()

它返回一个组合的 LongUnaryOperator,其中参数化操作将首先执行,然后是第一个。如果任一操作引发错误,则会将其转发给组合操作的调用者。

句法:

default LongUnaryOperator compose(LongUnaryOperator before)

参数:此方法接受一个参数,在该参数之前是要应用的操作,然后是当前操作

返回值:此方法返回一个组合的 LongUnaryOperator,它在参数化运算符之后应用当前运算符运算符

异常:如果之前的操作为空,此方法将抛出NullPointerException

下面是说明 compose() 方法的代码:

方案一:

import java.util.function.LongUnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        LongUnaryOperator op = a -> a / 3;
  
        op = op.compose(a -> a * 6);
  
        System.out.println(op.applyAsLong(12));
    }
}
输出:
24

程序2:演示何时返回NullPointerException。

import java.util.function.LongUnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        try {
  
            LongUnaryOperator op = a -> a / 3;
  
            op = op.compose(null);
  
            System.out.println(op.applyAsLong(12));
        }
        catch (Exception e) {
  
            System.out.println("Exception: " + e);
        }
    }
}
输出:
Exception: java.lang.NullPointerException