Outils pour utilisateurs

Outils du site


lang:java:variable

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:java:variable [2020/03/05 09:31] – Commentaire sur "Initialisation complexe d'une variable constante" rootlang:java:variable [2023/04/11 09:28] (Version actuelle) – [Pointeur sur la méthode d'une classe] : précision sur les types permettant de stocker des pointeurs sur fonction root
Ligne 1: Ligne 1:
 +====POO====
 ===Type primitif=== ===Type primitif===
  
Ligne 5: Ligne 6:
   * Caractère : ''char''   * Caractère : ''char''
  
-  * Nombre entier : ''byte'', ''short'', ''int'', ''long''+  * Nombre entier : ''byte'', ''short'', ''int'', ''long''. Il n'existe pas de type non signé.
  
   * Nombre à virgule : ''float'', ''double''   * Nombre à virgule : ''float'', ''double''
Ligne 11: Ligne 12:
 [[http://imss-www.upmf-grenoble.fr/prevert/Prog/Java/CoursJava/TypeDeDonneePrimitifs.html|Types de donnée primitifs]] {{ :lang:java:variable:cours_java_types_de_donnee_primitifs_2020-02-11_23_58_01_.html |Archive le 11/02/2020}} [[http://imss-www.upmf-grenoble.fr/prevert/Prog/Java/CoursJava/TypeDeDonneePrimitifs.html|Types de donnée primitifs]] {{ :lang:java:variable:cours_java_types_de_donnee_primitifs_2020-02-11_23_58_01_.html |Archive le 11/02/2020}}
  
-===Initialisation complexe d'une variable constante===+===Pointeur sur la méthode d'une classe===
  
 +On passe par un foncteur :
 +
 +<code java>
 +import java.util.function.Function;
 +
 +public class Test {
 +  public Boolean f() {
 +    System.out.println("Fonction");
 +    return true;
 +  }
 +}
 +
 +Function<Test, Boolean> f = Test::f;
 +Test t = new Test();
 +f.apply(t);
 +</code>
 +
 +Liste des types permettant de stocker des pointeurs sur fonction :
 +
 +<code>
 +Supplier       ()    -> x
 +Consumer           -> ()
 +BiConsumer     x, y  -> ()
 +Callable       ()    -> x throws ex
 +Runnable       ()    -> ()
 +Function           -> y
 +BiFunction     x,  -> z
 +Predicate      x     -> boolean
 +UnaryOperator  x1    -> x2
 +BinaryOperator x1,x2 -> x3
 +</code>
 +
 +[[https://stackoverflow.com/questions/29945627/java-8-lambda-void-argument|Java 8 lambda Void argument]] {{ :lang:java:variable:java_8_lambda_void_argument_-_stack_overflow_11_04_2023_08_28_43_.html |Archive du 29/04/2015 le 11/04/2023}}
 +
 +Et pour une fonction qui a plus de 2 paramètres, il faut le définir soit même.
 +
 +<code java>
 +@FunctionalInterface
 +interface Function6<One, Two, Three, Four, Five, Six> {
 +  public Six apply(One one, Two two, Three three, Four four, Five five);
 +}
 +</code>
 +
 +[[https://stackoverflow.com/questions/27872387/can-a-java-lambda-have-more-than-1-parameter|Can a java lambda have more than 1 parameter?]] {{ :lang:java:variable:can_a_java_lambda_have_more_than_1_parameter_-_stack_overflow_11_04_2023_08_28_54_.html |Archive du 10/01/2015 le 11/04/2023}}
 +===Passage en copie ou référence===
 +
 +Quand une variable est passé en paramètre, elle est copié si c'est un type primitif, elle est passé en référence sinon.
 +
 +====Programmation fonctionelle===
 +
 +===Initialisation complexe d'une variable constante===
  
 Plutôt que Plutôt que
Ligne 42: Ligne 94:
 Ce n'est pas encore le style d'écriture parfait mais ça permet de mettre la variable ''final''. Ce n'est pas encore le style d'écriture parfait mais ça permet de mettre la variable ''final''.
  
-===Passage en copie ou référence=== 
  
-Quand une variable est passé en paramètre, elle est copié si c'est un type primitif, elle est passé en référence sinon. 
lang/java/variable.1583397092.txt.gz · Dernière modification : 2020/03/05 09:31 de root