【发布时间】:2018-09-11 05:01:06
【问题描述】:
我只想删除项目中字符串字段的不可打印字符,我知道我们可以使用
public String removeNonPrintable(String field) {
return field.replaceAll("[^A-Za-z0-9]", "");
}
从字符串中删除不可打印的字符。
但我希望有这样的通用方法:
public <T> T removeNonPrintable(Class<T> myClassObject) {
/// Get only the string and remove non-printable code stuffs
return removedNonPrintableCharactersmyClassObject;
}
有人可以帮我做吗?
这个问题可能是重复的,但我没有找到确切的解决方案。
【问题讨论】:
-
[A-Za-z0-9]是您对可打印字符的最终定义吗?其他符号(./,"@$#!%^*&等)呢? -
你为什么返回
T而不是String?或者你的意思是你想修改myClassObject使其toString方法只返回可打印的字符? -
@ernest_k 我只是将它作为示例发布,将根据我的要求更新该功能。你能建议我吗,我怎样才能为整个 pojo 而不是单个字段做到这一点。
-
@kaviya.P 看来您除了反射之外还有其他选择。使方法接受一个对象。并使用对象的类查找字符串字段,并在转换文本后动态设置它们的值