如何获取特定class中的所有字符串?
How to get all Strings in a specific class?
我正在编写一个 Java 程序,需要获取指定 class 中的所有字符串。
其实我希望将它们保存在一个ArrayList 中。我已经试过了,但我不知道该怎么做。
例如,如果我的 class 中有以下字符串:
public串鸡="wing";
public 字符串 foo = "bar";
然后我想要一个方法来找到所有这些字符串,并将它们放入 ArrayList 中!
谢谢:)
这就是我的尝试:
for(Field f : UUIDd.class.getFields()) {
System.out.println("trying");
if(f.getType().isAssignableFrom(String.class)) {
String s = f.toString();
System.out.println(s);
}
}
你可以这样试试
Field[] fields=UUIDd.class.getDeclaredFields(); // get all declared fields
for(Field field:fields){
if(field.getType().equals(String.class)){ // if it is a String field
System.out.println(field.getName());
}
}
您也可以获得 Filed
的值。
UUIDd uuiDd=new UUIDd();
Field[] fields= uuiDd.getClass().getDeclaredFields(); // get all declared fields
for(Field field:fields){
if(field.getType().equals(String.class)){ // if it is a String field
System.out.println("Variable name: "+field.getName());
field.setAccessible(true);
System.out.println("Variable value: "+field.get(uuiDd));
}
}
我正在编写一个 Java 程序,需要获取指定 class 中的所有字符串。
其实我希望将它们保存在一个ArrayList 中。我已经试过了,但我不知道该怎么做。
例如,如果我的 class 中有以下字符串: public串鸡="wing"; public 字符串 foo = "bar";
然后我想要一个方法来找到所有这些字符串,并将它们放入 ArrayList 中!
谢谢:)
这就是我的尝试:
for(Field f : UUIDd.class.getFields()) {
System.out.println("trying");
if(f.getType().isAssignableFrom(String.class)) {
String s = f.toString();
System.out.println(s);
}
}
你可以这样试试
Field[] fields=UUIDd.class.getDeclaredFields(); // get all declared fields
for(Field field:fields){
if(field.getType().equals(String.class)){ // if it is a String field
System.out.println(field.getName());
}
}
您也可以获得 Filed
的值。
UUIDd uuiDd=new UUIDd();
Field[] fields= uuiDd.getClass().getDeclaredFields(); // get all declared fields
for(Field field:fields){
if(field.getType().equals(String.class)){ // if it is a String field
System.out.println("Variable name: "+field.getName());
field.setAccessible(true);
System.out.println("Variable value: "+field.get(uuiDd));
}
}