Interface Name | Description | Abstract Method |
---|
UnaryOperator<T> | Accepts a single (reference type) input argument and returns a result of same type. | T apply (T t) |
DoubleUnaryOperator | Accepts a single double-value argument and returns a double-value result. | double applyAsDouble(double d) |
IntUnaryOperator | Accepts a single int-value argument and returns an int-value result. | int applyAsInt(int i) |
LongUnaryOperator | Accepts a single long-value argument and returns a long-value result | long applyAsLong(long l) |
T apply(T t) is an abstruct method in Unary functional interface. It takes an input and return same type of result.
public class Product {
private double price;
public Product(double price) {
this.price = price;
}
public double getPrice() {
return price;
}
public void applyDiscount(UnaryOperator<Double> discountFunction){
this.price = discountFunction.apply(this.price);
}
}
public class Main {
public static void main(String[] args) {
Product product = new Product(100);
UnaryOperator<Double> discountFunction = (price)-> price*0.9;
product.applyDiscount(discountFunction);
System.out.println("Product value after discount: " + product.getPrice());
}
}