[英]What am I doing wrong mocking this private static final variable using mockito and reflection?
[英]Access static final variable using reflection
我有一個帶有靜態變量的Java類
package com.mytest
public class MyClass{
public static final TextClass TEXT_CLASS = new TextClass();
}
如何使用反射訪問對象TEXT_CLASS
?
(我有字符串"com.mytest.MyClass.TEXT_CLASS"
。我需要訪問該對象。)
訪問靜態字段的方式與普通字段完全相同,只需要將任何參數傳遞給Field.get()
方法(可以傳遞null)。
試試這個:
Object getFieldValue(String path) throws Exception {
int lastDot = path.lastIndexOf(".");
String className = path.substring(0, lastDot);
String fieldName = path.substring(lastDot + 1);
Class myClass = Class.forName(className);
Field myField = myClass.getDeclaredField(fieldName);
return myField.get(null);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.