使用Java中的反射檢查是否是static方法
瀏覽人數:473最近更新:
- 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國際》許可協議
最新文章
Java 周刊,第 599 期在 Hibernate 中實現聯合使用 Eventuate Tram 實作微服務的事務性訊息傳遞如何解決“無法自動組裝 org.springframework.mail.javamail.JavaMailSender”Java 週刊,第 598 期使用 PostgreSQL 在 Java 中實現事件驅動的 LISTEN/NOTIFY 支持在 Spring Security 中授權特定 URL 和 HTTP 方法的請求Java Diff Utils 指南解決 Spring JDBC“IncorrectResultSetColumnCountException:列數不正確”Java 週刊,第 597 期