1.概述
在本快速教程中,我们将讨论如何通过使用Reflection API static
2.例子
为了说明这一点,我们将使用一些静态方法StaticUtility
public class StaticUtility {
public static String getAuthorName() {
return "Umang Budhwar";
}
public static LocalDate getLocalDate() {
return LocalDate.now();
}
public static LocalTime getLocalTime() {
return LocalTime.now();
}
}
3.检查方法是否static
我们可以使用Modifier
.isStatic方法来检查某个方法是否是static
:
@Test
void whenCheckStaticMethod_ThenSuccess() throws Exception {
Method method = StaticUtility.class.getMethod("getAuthorName", null);
Assertions.assertTrue(Modifier.isStatic(method.getModifiers()));
}
在上面的示例中,我们首先使用Class.getMethod
方法获得了要测试的方法的实例。有了方法参考后,我们只需要做的就是调用Modifier.isStatic
方法。
4.获取一个类的static
既然我们已经知道如何检查某个方法是否是static
,那么我们可以轻松地列出一个类的static
@Test
void whenCheckAllStaticMethods_thenSuccess() {
List<Method> methodList = Arrays.asList(StaticUtility.class.getMethods())
.stream()
.filter(method -> Modifier.isStatic(method.getModifiers()))
.collect(Collectors.toList());
Assertions.assertEquals(3, methodList.size());
}
在上面的代码中,我们刚刚在类StaticUtility
static
方法的总数。
5.结论
在本教程中,我们已经看到了如何检查方法是否static
。我们还看到了如何获取类的所有static
方法。
0 评论