Maison >Java >javaDidacticiel >Interface LongToIntFunction en Java

Interface LongToIntFunction en Java

王林
王林avant
2023-09-07 16:29:16760parcourir

Interface LongToIntFunction en Java

LongToIntFunction en Java est une interface fonctionnelle qui accepte un paramètre de type long et renvoie un résultat de type int. Une interface fonctionnelle est une interface avec une seule méthode abstraite. Pour utiliser d’abord cette interface, vous devez importer le package java.util.function.

La méthode fonctionnelle de cette interface est "applyAsInt()", qui prend une valeur longue comme paramètre et renvoie un résultat de valeur int.

Grammaire

int applyAsInt(long value);

Algorithme

Pour implémenter cette interface fonctionnelle, veuillez suivre les étapes ci-dessous -

  • Étape 1 - Créez une instance de l'interface fonctionnelle en définissant une expression lambda qui implémente la méthode applyAsInt(long value).

  • Étape 2 - Appelez la méthode applyAsInt(long value) sur l'instance d'interface fonctionnelle, en transmettant une valeur longue en entrée.

  • Étape 3 - Utilisez la sortie de la méthode applyAsInt(long value) dans votre code si nécessaire.

Méthode 1 : Définir l'expression Lambda

Vous pouvez définir une expression lambda pour implémenter la méthode apply(long value) de l'interface LongToIntFunction.

Exemple

import java.util.function.LongToIntFunction;
public class LambdaExample {
   public static void main(String[] args) {
      LongToIntFunction square = value -> (int) (value * value);
      int result = square.applyAsInt(5L);
      System.out.println(result);
   }
}

Sortie

25

Instructions

L'instance LongToIntFunction square renvoie le carré de la valeur longue d'entrée 5L, qui est 25.

Méthode 2 : Utilisation des références de méthode

Vous pouvez utiliser une référence de méthode pour implémenter la méthode applyAsInt(long value) de LongToIntFunction.

Exemple

import java.util.function.LongToIntFunction;
public class MethodReferenceExample {
   public static void main(String[] args) {
      LongToIntFunction digitCount = String::valueOf;
      int result = digitCount.applyAsInt(9876543210L);
      System.out.println(result);
   }
}

Sortie

31

Instructions

Nous créons une instance LongToIntFunction nommée digitalCount en utilisant une référence de méthode à la méthode valueOf de la classe String. Pour obtenir le résultat souhaité, cette technique consiste à convertir une valeur longue entrée en une représentation sous forme de chaîne, puis à calculer sa longueur et à la renvoyer sous forme d'entier. Nous appelons ensuite la méthode applyAsInt sur l'instance digitalCount avec la valeur longue d'entrée 9876543210L, qui renvoie le nombre de chiffres dans la valeur longue sous forme d'entier. Les résultats sont imprimés sur la console.

Méthode 3 : Utiliser des classes internes anonymes

Exemple

import java.util.function.LongToIntFunction;
public class AnonymousClassExample {
   public static void main(String[] args) {
      LongToIntFunction binaryLength = new LongToIntFunction() {
         @Override
         public int applyAsInt(long value) {
            return Long.toBinaryString(value).length();
         }
      };
      int result = binaryLength.applyAsInt(123456789L);
      System.out.println(result);
   }
}

Sortie

27

Instructions

Dans cet exemple, l'instance DigitCount de LongToIntFunction renvoie le nombre de chiffres dans la valeur longue d'entrée 9876543210L, qui est 10. Les résultats sont imprimés sur la console.

Comparaison entre méthodes

Standard

Méthode 1

Méthode 2

Méthode 3

Type

Expression Lamda

Référence de méthode

Classe intérieure anonyme

Méthode

applyAsInt (valeur longue)

applyAsInt (valeur longue)

applyAsInt (valeur longue)

Logique de la méthode

renvoie une valeur int

renvoie une valeur int

renvoie une valeur int

Conclusion

En utilisant ces méthodes, vous pouvez utiliser l'interface LongAsIntFunction de différentes manières pour implémenter des fonctions personnalisées qui prennent des valeurs longues en entrée et renvoient différents types de résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer