【发布时间】:2018-09-23 13:08:32
【问题描述】:
我有以下这 3 种方法。我只是不知道将它们作为一个整体,因为它们是数组、列表或只是一个对象的类型。这些方法只是将给定的对象转换为 json 字符串,然后将其转换为给定的指定类。
public static List<Object> objectListSerializer(List<Document> documents, Class entity) {
List<Object> entityList;
String json = com.mongodb.util.JSON.serialize(documents);
entityList = (List<Object>) GSON_INSTANCE.fromJson(json, entity);
return entityList;
}
public static Object objectArraySerializer(Object objectArray, Class clazz) {
String jsonString = GSON_INSTANCE.toJson(objectArray);
Object convert[] = (Object[]) GSON_INSTANCE.fromJson(jsonString, clazz);
return convert;
}
public static Object objectSerializer(Object object, Class clazz) {
String jsonString = GSON_INSTANCE.toJson(object);
Object convert = GSON_INSTANCE.fromJson(jsonString, clazz);
return convert;
}
【问题讨论】:
-
使用
interface和generics进行不同的实现。 -
并提示:遵循 java 命名约定。方法名称首先与动词一起使用。然后你的名字非常具有误导性。您将内容序列化为 JSON,然后反序列化该 JSON?阅读您的方法名称,这一点也不清楚。
-
@GhostCat 是的,感谢您为我指出这一点。我对这些命名感到困惑
-
恕我直言,如果您的任何方法的返回类型是
Object,您应该考虑重新考虑您的代码设计。
标签: java json code-duplication generalization