我正在编写Java程序,需要在指定的类中获取所有字符串。
实际上我希望它们保存在ArrayList中。我已经尝试了,但我不知道该怎么做。
例如,如果我的班级中有以下字符串: public String chicken =" wing&#34 ;; public String foo =" bar&#34 ;;
然后我想要一个能找到所有这些字符串的方法,并把它们放在一个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);
}
}
答案 0 :(得分:5)
你可以这样试试。
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));
}
}