是否有集合对象或方法来保存元素组合?
例如,我需要创建一个包含元素名称,年龄,身高和体重组合的列表。
在我的情况下,为此创建一个对象并不是一个好主意。因为字段数不断变化。 我需要创建此列表以传递给查询。
任何解决方案?
答案 0 :(得分:2)
class MyContainer {
String someString;
int someInt;
}
List <MyContainer> myList = new List<>();
有类似的东西!?
我不确切地知道,“在我的情况下为此创建一个对象并不是一个好主意”。您可以替代创建List<Object>
并输入您拥有的任何内容,如果您想拥有多个分组对象的列表,则可以输入List<List<Object>>
。
答案 1 :(得分:1)
最好的方法是创建一个包含所有可能元素的Object。
class myObject {
String name;
Integer age;
Float weight;
// Etc
}
或者有一个基类,然后有另一个类,使用其他元素扩展它
class myExtendedObject extends myObject{
String streetAddress;
String city;
// etc;
}
然后,如果你没有将一个元素设置为null ...你总是可以通过包含一个返回查询的方法从对象本身构建你的查询,juct检查它是否为null并且不包括在你的查询(假设你的意思是一个sql样式的查询)
public String buildQuery{
String query = "Select * from blahtable Where ";
query += (name != null)?" name = " + name : "";
// etc, or what ever your query needs to be
return query
}
另外,您可以使用一个返回元素地图的方法,然后根据键知道每个元素的类型
public Map<String, Object> getElements{
Map<String, Object> myMap = new HashMap<String, Object>();
if(name != null)
myMap.put("Name", name);
// etc
return myMap
}
答案 2 :(得分:1)