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
- La vidéo à télécharger va 5 fois plus vite que sa vitesse normale. divisez sa vitesse par 5 pour rétablir sa vitesse normale. après cette opération, combien de papillons figurent entre la 17e et la 18e seconde ? ✓ - Forum Montage et acquisition vidéo
- Meilleur ami snap combien de temps ✓ - Forum Snapchat
- Dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? - Forum Réseaux sociaux
- 2 go internet combien de temps - Forum Opérateurs & Réseaux mobiles
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