如何在Java中正确执行以下操作?我想要一个可以创建对象列表的通用例程.在此例程中,我希望这些对象的类的构造函数支持特定的参数.
为了澄清:我希望该例程创建一个List< T>.从JSON字符串.这是较大的反序列化代码的一部分.如果我可以以某种方式指定每个受支持的T实现给定JSONObject的创建T的构造函数,那么我可以编写如下例程:
interface CreatableFromJSONObject {
T(JSONObject object); // Complains about missing return type.
}
static List jsonArrayToList(JSONArray array) {
List result = new ArrayList();
for (int i = 0; i < array.length; ++i) {
JSONObject jsonObject = array.getJSONObject(i);
result.add(T(jsonObject)); // If T has one constructor with 1 one argument JSONObject
}
return result;
}
然后是实现该接口的示例类
class SomeClass implements CreatableFromJSONObject {
SomeClass(JSONObject object) throws JSONException {
// implementation here
}
}
我可以使用所需的方法: