我有这样一个对象:打印数据
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(“姓名:$ 1%的”,字符串),因为模板的变化很大,但传入的对象类型是独一无二的。 。
UPD:谢谢你的答案,但这个想法是会有用的模板列表,它会被插入到数据的文件,例如:
String template1 = "Your selected Name is $name%s and selected age $age%i";
String template2 = "User: $name%s; Age: $age%i";
因此,对象本身将包含更多的获得者。
覆盖'的toString()'。 –
我相信你可以从你的类中重载的'toString()'方法返回一个格式化的字符串! – NINCOMPOOP