使用Java中的反射檢查是否是static方法
瀏覽人數:436最近更新:
- java
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
方法。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議