簡體   English   中英

使用反射訪問靜態最終變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM