拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 使用Java中的反射检查是否是static方法

使用Java中的反射检查是否是static方法

白鹭 - 2021-11-24 516 0 0

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 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *