簡體   English   中英

如果我知道Java中變量的名稱,如何獲取對象變量的類型?

[英]How do I get the type of an object's variable if I know the name of the variable in java?

以下是課程:

class Test{
    int x;
}

現在,讓我說一個類的對象:

Test testObj = new Test();

另外,我有一個String變量,其值與class變量相同:

String var = "x";

現在從該對象testObj可以找到一種方法,如果我通過字符串var變量的名稱,並獲得變量x的數據類型?

當然。 使用Class.getDeclaredField()

Field field = testObj.getClass().getDeclaredField(var);
Class<?> typeOfField = field.getType();

是的,使用反射:

String type = testObj.getClass().getDeclaredField(var).getType().getName();

使用反射,您可能會做

Class  aClass = MyObject.class
Field field = aClass.getField("someField");

MyObject objectInstance = new MyObject();

Object value = field.get(objectInstance);

field.set(objetInstance, value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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