gpt4 book ai didi

java - 从最终类中获取所有静态字符串值作为字符串数组或列表

转载 作者:行者123 更新时间:2023-12-02 03:44:22 27 4
gpt4 key购买 nike

我有以下类(class):

 public final class FileNames
{

private FileNames()
{}

public static final String A = "a.csv";
public static final String B = "b.csv";
public static final String C = "123.csv";
...
}

现在我想从上面的不同类中的某个位置获取所有字符串值。输出可以是字符串数组或ArrayList或任何其他集合。我使用的是jdk 1.7。不知道如何继续此操作,因为可以增加字符串列表,即可以添加“D”、“E”等.

最佳答案

反射(reflection)是你的 friend :)

public class Sample {

public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException {
Class<FileNames> clazz = FileNames.class;
Field[] arr = clazz.getFields(); // Get all public fields of your class
for (Field f : arr) {
if (f.getType().equals(String.class)) { // check if field is a String
String s = (String)f.get(null); // get value of each field
// add s to a List
System.out.println(s);
}

}
}

}

final class FileNames {

private FileNames() {
}

public static final String A = "a.csv";
public static final String B = "b.csv";
public static final String C = "123.csv";

}

操作:

a.csv
b.csv
123.csv

关于java - 从最终类中获取所有静态字符串值作为字符串数组或列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com