我想要一种可以将对象(带有几个参数 String 或 int)转换为 String 的方法,更重要的是,将该 String 转换回对象。您知道为此目的开发转换器的任何方法吗?
问题是该对象是其他开发人员使用的 DTO,因此我无法修改该toString()
方法。因此,我创建了自己的 toString 方法,但我不知道如何可靠地使转换器双向工作。我考虑了几种解决方案(将对象存储在地图中等),但它们似乎都不清楚阅读/理解。是否有任何通常的方法可以让每个有经验的程序员一眨眼就明白它的作用?
编辑:嗯,我知道序列化,但我的问题不清楚,对不起。事实是我想在 ListView (JavaFX) 中显示对象,以使它们具有可读性,例如 String "N°:xxxx; Version : 1",序列化对象既不美观也不可读。
所以我的最终解决方案更像是:
listView.setCellFactory(new Callback<ListView<ProductDto>, ListCell<ProductDto>>() {
@Override
public ListCell<ProductDto> call(final ListView<ProductDto> productDtoListView) {
return new ListCell<ProductDto>(){
@Override
protected void updateItem(final ProductDto productDto, final boolean b) {
if(productDto!=null){
setText(fromProductDtoToString(productDto));
}
}
};
}
});
这样,我将对象本身存储在 ListView 中,仍然可以显示一个相当美观的 String 表示对象。
谢谢你的时间。
法比安