package com.javarush.test.level21.lesson02.task02;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/* Сравниваем модификаторы
Реализовать логику метода isAllModifiersContainSpecificModifier, который проверяет,
содержит ли переданный параметр allModifiers значение конкретного модификатора specificModifier
*/
public class Solution {
public static void main(String[] args) {
int modifiersOfThisClass = Solution.class.getModifiers();
System.out.println(isAllModifiersContainSpecificModifier(modifiersOfThisClass, Modifier.PUBLIC)); //true
System.out.println(isAllModifiersContainSpecificModifier(modifiersOfThisClass, Modifier.STATIC)); //false
int modifiersOfMethod = getMainMethod().getModifiers();
System.out.println(isAllModifiersContainSpecificModifier(modifiersOfMethod, Modifier.STATIC)); //true
}
public static boolean isAllModifiersContainSpecificModifier(int allModifiers, int specificModifier) {
return ((allModifiers & specificModifier) != 0);
}
private static Method getMainMethod() {
Method[] methods = Solution.class.getDeclaredMethods();
for (Method method : methods) {
if (method.getName().equalsIgnoreCase("main")) return method;
}
return null;
}
}
Leave A Comment