我有一个这样的对象:
public class Person {
String name = "Any";
int age = 9001;
}
public String getName() {return this.name;}
public int getAge() {return this.age;}
有没有办法使用如下所述的预定义模板打印这些数据?
Person firstOne = new Person();
print_throw_getters("Name: $name%s Age: $age%i",firstOne);
如果不是,我可以在 HashMap 中转换一个对象:
public HashMap getHashMap {
HashMap test = new HashMap<String,Object>();
test.put("name",this.getName());
test.put("age",this.getAge());
return test;
}
有没有像这样在预定义模板中按键打印值的功能?
print_throw_keys("Name: $name%s Age: $age%i",firstOne.getHashMap());
我不想使用像 printf("name: $1%s",string) 这样的索引,因为模板差异很大,但传入的对象类型是唯一的。.
UPD:感谢您的回答,但想法是会有一个包含模板列表的文件,该文件将插入数据中,例如:
String template1 = "Your selected Name is $name%s and selected age $age%i";
String template2 = "User: $name%s; Age: $age%i";
因此,对象本身将包含更多的吸气剂。