Dans l'état actuel des choses, cette question ne convient pas à notre format de questions / réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, des sondages ou une discussion approfondie. …
Dans les langages orientés objet qui prennent en charge les paramètres de type génériques (également appelés modèles de classe et polymorphisme paramétrique, bien que chaque nom porte bien sûr des connotations différentes), il est souvent possible de spécifier une contrainte de type sur le paramètre de type, de sorte qu'il …
Selon la règle numéro 4 de Object Calisthenics de Jeff Bay (RTF) dans The ThoughtWorks Anthology, il est recommandé de " Utiliser des collections de première classe ". Règle 4: Collections de première classe L'application de cette règle est simple: toute classe qui contient une collection ne doit contenir aucune …
Dans une autre question StackExchange, j'ai remarqué quelqu'un utilisant ce prototype: void DoSomething<T>(T arg) where T: SomeSpecificReferenceType { //Code.... } En gardant à l'esprit qu'il n'y a qu'une seule contrainte de type ( SomeSpecificReferenceType), quelle est la différence et l'avantage de l'écrire comme ça, au lieu de simplement: void DoSomething(SomeSpecificReferenceType …
Mon type IDE ( NetBeans ) vérifie mon Collectionspendant que je tape du code. Mais alors, pourquoi dois-je lancer l'objet retourné Object.clone()? Ce qui est bien. Pas de mal, pas de faute. Mais je ne comprends toujours pas. La vérification de type, sans transtypage, l'objet retourné Object.clone()n'est -elle pas possible? …
Certains langages permettent des classes et des fonctions avec des paramètres de type (comme List<T>où Tpeut être un type arbitraire). Par exemple, vous pouvez avoir une fonction comme: List<S> Function<S, T>(List<T> list) Cependant, certaines langues permettent d'étendre ce concept d'un niveau supérieur, vous permettant d'avoir une fonction avec la signature: …
Dans l'article «Une étude comparative étendue de la prise en charge des langages pour la programmation générique» par Garcia et al. une comparaison intéressante des fonctionnalités des langages de programmation pour la programmation générique est donnée: avec la brève explication de la terminologie: Quelqu'un peut-il tester le support Scala pour …
J'ai certaines interfaces que j'ai l'intention d'implémenter à l'avenir par des tiers et je fournis moi-même une implémentation de base. Je vais seulement utiliser un couple pour montrer l'exemple. Actuellement, ils sont définis comme Article: public interface Item { String getId(); String getName(); } ItemStack: public interface ItemStackFactory { ItemStack …
Je joue avec C # pour Windows et le développement ASP.net MVC depuis un certain temps maintenant. Mais je ne suis toujours pas clair sur certains points. J'essaie de comprendre la différence fondamentale entre les problèmes de performances et l'utilisation et l'échange de types similaires d' interfaces de collection génériques …
Je fais de la programmation en milieu universitaire en ce moment, donc je peux utiliser ce que je veux. J'utilise la bibliothèque de graphiques boost pour quelques choses, et je me demande si investir des efforts pour comprendre le GP plus profondément en vaut la peine. Je suis curieux - …
J'ai besoin d'une interface qui m'assure qu'une certaine méthode, y compris une signature spécifique, est disponible. Jusqu'à présent, c'est ce que j'ai: public interface Mappable<M> { M mapTo(M mappableEntity); } Le problème se pose lorsqu'une classe doit être mappable à plusieurs autres entités. Le cas idéal serait celui-ci (pas java): …
Pourquoi est-ce que lorsque j'essaye de faire un tableau de ArrayLists: ArrayList<Integer>[] arr=new ArrayList<Integer>[40];il y a une erreur et java ne le permet pas? Y a-t-il une raison liée à l'implémentation par Java des génériques, des génériques dans n'importe quelle langue, ou quelque chose d'arbitraire?
Configuration: Supposons que nous avons un type appelé Iteratorqui a un paramètre de type Element: interface Iterator<Element> {} Ensuite, nous avons une interface Iterablequi a une méthode qui retournera un Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Le problème d' Iteratorêtre …
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.