当前位置: 技术问答>java相关
请问如何将一个类中定义的所有的String变量一一取出?
来源: 互联网 发布时间:2015-06-17
本文导语: class Test { public static final String A = "ABC"; public static final String B = "DEF"; // 以后还可能增加 } 如果我在另一个类中想调用Test.A, Test.B... 如何做到Test类中增加常量不会影响到调用的类? 也就是说: class B { Strin...
class Test {
public static final String A = "ABC";
public static final String B = "DEF";
// 以后还可能增加
}
如果我在另一个类中想调用Test.A, Test.B...
如何做到Test类中增加常量不会影响到调用的类?
也就是说:
class B {
String a = Test.A;
String b = Test.B;
println("All constant in Test is"+a);
println("All constant in Test is"+a);
// class B 的功能就是将Test中的常量全都打出来,那如果HardCode的话,Test的变化便会影响到class B,我想知道如何做到Test的变化不会影响到class B?
}
例如:Class class = Class.forName("Test");
Field[] fields = class.getFields();
可能是这么做吧,但是我不知道如何得到每一个Field的值。
如果Field 是一个String常量,如何得到它的值?
public static final String A = "ABC";
public static final String B = "DEF";
// 以后还可能增加
}
如果我在另一个类中想调用Test.A, Test.B...
如何做到Test类中增加常量不会影响到调用的类?
也就是说:
class B {
String a = Test.A;
String b = Test.B;
println("All constant in Test is"+a);
println("All constant in Test is"+a);
// class B 的功能就是将Test中的常量全都打出来,那如果HardCode的话,Test的变化便会影响到class B,我想知道如何做到Test的变化不会影响到class B?
}
例如:Class class = Class.forName("Test");
Field[] fields = class.getFields();
可能是这么做吧,但是我不知道如何得到每一个Field的值。
如果Field 是一个String常量,如何得到它的值?
|
我写了一个很简单的例子,你自己参照做就可以进行扩展了。
---------------------------------------------------
测试用的类:
class rclass
{
public static String fld1="zosatapo";
public static String fld2="reic";
public String fld3="yang";
}
-------------------------------------------------
简单的测试程序:
import java.lang.*;
import java.lang.reflect.*;
class rtest
{
public static void main(String []argv)
{
Class cls=rclass.class;
Field flds[]=cls.getFields();
for(int i=0;i
---------------------------------------------------
测试用的类:
class rclass
{
public static String fld1="zosatapo";
public static String fld2="reic";
public String fld3="yang";
}
-------------------------------------------------
简单的测试程序:
import java.lang.*;
import java.lang.reflect.*;
class rtest
{
public static void main(String []argv)
{
Class cls=rclass.class;
Field flds[]=cls.getFields();
for(int i=0;i