[JAVA] Utilisez Modifier # isStatic pour déterminer si la méthode [Reflection] est statique.

En programmation Java, lorsque vous essayez de faire quelque chose d'un peu compliqué, la réflexion vous vient toujours à l'esprit. Je pense que vous écrivez souvent un processus qui utilise la réflexion pour acquérir une liste de méthodes pour une certaine classe, mais si vous voulez déterminer si la méthode acquise est statique ou non, vous pouvez utiliser Modifier # isStatic. Utilisez __. Voici un exemple.

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;


public class StaticTest {
    
    public static void main(String[] args) {
        Method[] methods = Sample.class.getDeclaredMethods();
        for (Method method : methods) {
            if (Modifier.isStatic(method.getModifiers())) {
                System.out.println(method.getName());
                // => privateStaticMethod publicStaticMethod
            }
        }
    }
    
    public static final class Sample {
        public static void publicStaticMethod() {};
        private static void privateStaticMethod() {};
        public void publicInstanceMethod(){};
        private void privateInstanceMethod(){};
    }
}

Référence: "Modifier (Java Platform SE 8)"

Recommended Posts

Utilisez Modifier # isStatic pour déterminer si la méthode [Reflection] est statique.
Comment utiliser la méthode link_to
Comment utiliser la méthode include?
Comment utiliser la méthode form_with
Next () de Resultset n'est pas une "méthode pour déterminer s'il y a un ResultSet next".
[Rails] Comment utiliser la méthode de la carte
[Java] Comment utiliser la méthode toString ()
Obtenez le type d'un élément d'un tableau pour déterminer s'il s'agit d'un tableau
Le cas où le prochain () de Resultset a été confondu avec la méthode de jugement de l'existence ou non
Lorsque vous souhaitez utiliser la méthode à l'extérieur
Sortie de la façon d'utiliser la méthode slice
Comment utiliser la méthode replace () (Java Silver)
[Introduction à Ruby] Comment utiliser la méthode slice
Je veux appeler la méthode principale en utilisant la réflexion
Comment utiliser la méthode getter / setter (en orientation objet)
A vous qui regrettez que la méthode principale de Java soit statique
Je souhaite utiliser la méthode de désinfection autre que View.
Que faire si la commande rails devient inutilisable
Quelle est la méthode pluck?
[java] Raisons d'utiliser statique
20 Correspond aux appels de méthode statiques
Array.map facile à utiliser (&: méthode)
Quelle est la méthode d'initialisation?
Fonction statique pour vérifier si l'erreur RVB de BufferdImage est dans le rapport spécifié en Java
Si vous souhaitez simuler une méthode dans RSpec, vous devez utiliser la méthode allow pour mock et la méthode singleton.
[Ubuntu 20.04] Que faire si le moniteur externe n'est pas reconnu
J'ai essayé de comprendre comment la méthode des rails "redirect_to" est définie
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
Remarques sur la marche à suivre si le Jar de dépendance Eclipse Maven est incorrect
J'ai essayé de comprendre comment la méthode des rails "link_to" est définie
[Rails] N'utilisez pas la méthode de sélection uniquement pour réduire les colonnes!
Juger si les chaînes de caractères à comparer sont les mêmes en Java
La fonction est très facile à utiliser
[Java] Comment utiliser la méthode de jointure
Comment utiliser la classe wrapper
Utilisons la réflexion Accès aux méthodes privées
J'ai essayé d'expliquer la méthode
Comment utiliser la méthode Ruby inject
Que faire si l'image d'arrière-plan n'est pas appliquée après le déploiement
Que faire lorsque le préfixe c n'est pas lié dans JSP
Utilisez la méthode de permutation pour que tous les utilisateurs par défaut se suivent
[Ruby] Que se passe-t-il si le self de la méthode est utilisé comme valeur de retour?
Si la méthode HTTP n'est pas spécifiée, le côté navigateur demande avec GET
Est-il possible de mettre la bibliothèque (aar) dans la bibliothèque Android (aar) et de l'utiliser?