Combien de classe et méthodes dans la javadoc ?
axelvdk
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je posais une petite question qui n'est pas de la plus grande importance mais c'est pour mieux me rendre compte de ce que représente java en terme de travail.
Je m'étais demandé quelle taille aurait un énorme cube si on le construisait avec autant de petit cube d'1 cm³ qu'il y a de méthode dans la java doc. :-)
Il ne s'agit d'une loterie :-).
merci,
A +
Je posais une petite question qui n'est pas de la plus grande importance mais c'est pour mieux me rendre compte de ce que représente java en terme de travail.
Je m'étais demandé quelle taille aurait un énorme cube si on le construisait avec autant de petit cube d'1 cm³ qu'il y a de méthode dans la java doc. :-)
Il ne s'agit d'une loterie :-).
merci,
A +
A voir également:
- Combien de classe et méthodes dans la javadoc ?
- Combien de ko dans un go ✓ - Forum Windows
- 35 go internet combien de temps ✓ - Forum Free mobile
- 2go internet combien de temps - Forum Opérateurs & Réseaux mobiles
- Combien de temps dure le sablier sur snap ✓ - Forum Snapchat
- 1go combien de mo - Forum Mobile
1 réponse
Facile, le cube serait de taille Math.pow(n,1.0/3.0) où n est le nombre de méthodes...
Après, il s'agit "juste" de compter le nombre de méthodes de Java, et pour cela on a des outils de réflexion, en particulier on peut compter le nombre de méthodes d'une classe comme ça :
Exemple : on compte le nombre de méthodes des classes Object et String, et le nombre total de méthodes différentes pour ces deux classes.
Remarque : il s'agit ici de récupérer les méthodes publiques, les méthodes private et protected ne pouvant être listées ainsi, on pourrait faire de même avec les constructeurs publiques que l'on peut récupérer avec getConstructors()
Il faudrait donc faire pareil pour toutes les classes, sans oublier les InnerClass privées, la meilleure solution étant surement d'ouvrir rt.jar et de passer chaque classe en revue.La confiance n'exclut pas le contrôle
Après, il s'agit "juste" de compter le nombre de méthodes de Java, et pour cela on a des outils de réflexion, en particulier on peut compter le nombre de méthodes d'une classe comme ça :
int n = UneClasse.class.getMethods().length;La grosse prise de tête est de savoir si, pour une classe donnée, on doit compter ou non les méthodes héritées alors qu'elles appartiennent à la classe mère, sans perdre de vue que certaines ont pu être redéfinies, d'autres êtres abstraites, etc.
Exemple : on compte le nombre de méthodes des classes Object et String, et le nombre total de méthodes différentes pour ces deux classes.
import java.lang.reflect.Method;
import java.util.HashSet;
public class Test
{
public static void main(String...args)
{
HashSet<Method> setObject = new HashSet<Method>();
for (Method m : Object.class.getMethods())
setObject.add(m);
System.out.printf("%d méthodes différentes dans Object\n%s\n\n",setObject.size(),setObject.toString());
HashSet<Method> setString = new HashSet<Method>();
for (Method m : String.class.getMethods())
setString.add(m);
System.out.printf("%d méthodes différentes dans String\n%s\n\n",setString.size(),setString.toString());
HashSet<Method> setObjectString = new HashSet<Method>();
setObjectString.addAll(setObject);
setObjectString.addAll(setString);
System.out.printf("%d méthodes différentes dans Object et String\n%s\n\n",setObjectString.size(),setObjectString.toString());
}
}
Remarque : il s'agit ici de récupérer les méthodes publiques, les méthodes private et protected ne pouvant être listées ainsi, on pourrait faire de même avec les constructeurs publiques que l'on peut récupérer avec getConstructors()
Il faudrait donc faire pareil pour toutes les classes, sans oublier les InnerClass privées, la meilleure solution étant surement d'ouvrir rt.jar et de passer chaque classe en revue.La confiance n'exclut pas le contrôle