Tiré de Effective Java par Joshua Bloch, Les tableaux diffèrent du type générique de deux manières importantes. Les premiers tableaux sont covariants. Les génériques sont invariants. Covariant signifie simplement que si X est un sous-type de Y, alors X [] sera également un sous-type de Y []. Les tableaux sont …
En C # (et dans de nombreux autres langages), il est parfaitement légitime d'accéder aux champs privés d'autres instances du même type. Par exemple: public class Foo { private bool aBool; public void DoBar(Foo anotherFoo) { if (anotherFoo.aBool) ... } } Comme l'indique la spécification C # (sections 3.5.1, 3.5.2), …
Selon la spécification du langage Java , 3e édition: Il s'agit d'une erreur de compilation si une classe générique est une sous-classe directe ou indirecte de Throwable. Je souhaite comprendre pourquoi cette décision a été prise. Quel est le problème avec les exceptions génériques? (Autant que je sache, les génériques …
J'ai beaucoup travaillé avec Lua ces derniers mois, et j'aime vraiment la plupart des fonctionnalités, mais il me manque encore quelque chose parmi celles-ci: Pourquoi n'y a-t-il pas continue? Quelles solutions de contournement y a-t-il?
Avant de lire cet article , je pensais que le contrôle d'accès dans Ruby fonctionnait comme ceci: public- accessible par n'importe quel objet (par exemple Obj.new.public_method) protected - ne peut être accédé qu'à partir de l'objet lui-même, ainsi que de toutes les sous-classes private - identique à protected, mais la …
Si je crée un booléen dans ma classe, juste quelque chose comme bool check, il est par défaut faux. Quand je crée le même booléen dans ma méthode, bool check(au lieu de dans la classe), j'obtiens une erreur "utilisation de la vérification de variable locale non assignée". Pourquoi?
Étant donné une simple instruction switch switch (int) { case 1 : { printf("1\n"); break; } case 2 : { printf("2\n"); } case 3 : { printf("3\n"); } } L'absence d'une instruction break dans le cas 2, implique que l'exécution se poursuivra à l'intérieur du code pour le cas 3. …
En C # et en Java (et peut-être aussi dans d'autres langages), les variables déclarées dans un bloc "try" ne sont pas dans la portée des blocs "catch" ou "finally" correspondants. Par exemple, le code suivant ne compile pas: try { String s = "test"; // (more code...) } catch …
Je n'ai jamais vraiment compris pourquoi C ++ a besoin d'un fichier d'en-tête séparé avec les mêmes fonctions que dans le fichier .cpp. Cela rend la création de classes et leur refactorisation très difficiles, et cela ajoute des fichiers inutiles au projet. Et puis il y a le problème de …
Je travaillais avec un nouveau développeur C ++ il y a quelque temps lorsqu'il a posé la question: "Pourquoi les noms de variables ne peuvent-ils pas commencer par des nombres?" Je n'ai pas pu trouver de réponse, sauf que certains nombres peuvent contenir du texte (123456L, 123456U) et cela ne …
L'opérateur d'incrémentation / décrémentation pré / post ( ++et --) est une syntaxe de langage de programmation assez standard (au moins pour les langages procéduraux et orientés objet). Pourquoi Ruby ne les prend-il pas en charge? Je comprends que vous pourriez accomplir la même chose avec +=et -=, mais il …
Je me demande simplement pourquoi l' switchinstruction Java 7 ne prend pas en charge un nullcas et jette à la place NullPointerException? Voir la ligne commentée ci-dessous (exemple tiré de l'article Tutoriels Java surswitch ): { String month = null; switch (month) { case "january": monthNumber = 1; break; case …
NB Il ne s'agit pas de savoir comment utiliser les fonctions en ligne ou comment elles fonctionnent, mais plutôt pourquoi elles sont faites telles qu'elles sont. La déclaration d'une fonction membre de classe n'a pas besoin de définir une fonction car inlineil s'agit uniquement de l'implémentation réelle de la fonction. …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.