使用Java中的反射檢查是否是static方法
瀏覽人數:491最近更新:
- 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國際》許可協議
最新文章
在 gRPC 服務中實現單元測試Hibernate 中的 TupleTransformer 和 ResultListTransformer使用 Spring Boot 建置有狀態自訂 Bean 驗證在 JUnit 5 中所有類別的所有測試之前執行程式碼使用 Jersey 和 Jackson 自訂 ObjectMapperSpring Boot 4 與 Spring Framework 7 – 新功能Hibernate 中的 PartitionKey:Spring Boot 實用指南Java 周刊,第 611 期在 Java 中處理「非值」雙精度在 Java 中逐行讀取 StringBuilder