我通过调用Utility来创建一个List来进行数据库调用。
List Details = DatabaseMgr.ValidateItemLocation(IsItem,isLevel,myArea,mLoc.getText().toString())
以下屏幕截图显示了返回的详细信息。
我想将字符串设置为List中的AddNew,LocationType和Pass字段。它们在数据库调用返回时都有值,但我无法弄清楚如何引用Details来使用这些值。 它们都是来自存储过程的出站参数的值。
希望我解释一下自己。当我来自VB背景时,Java对我来说仍然是一个新手。这是屏幕截图
答案 0 :(得分:2)
首先,Java中的变量必须以小写字符开头。因此,将Details
重命名为details
。
似乎details
是包含ArrayList
个对象的ValidItemLocation
,因此您需要从列表中获取第一个项目,然后才能使用它。使用get
从列表中获取内容。
ValidItemLocation item = (ValidItemLocation)(details.get(0));
System.out.println(item.AddNew); // example
item.locationType = "P";
(ValidItemLocation)
构造被称为强制转换,因为你没有声明列表的列表是什么,所以Java只是假设它是Objects
的列表。您可以考虑将详细信息声明为List<ValidItemLocation>
类型。
接下来你可以做的就是在访问之前检查列表是否包含某些内容(使用size()
)并将所有字段重命名为以小写字母开头。
如果您认为您的列表可能包含多个结果项,那么您需要对其进行迭代,如其他一些答案中所示。
答案 1 :(得分:1)
在这里,我可以看到您有List<ValidItemLocation>
,即类ValidItemLocation
和AddNew
,LocationType
和Pass
的对象列表,它是&#39; s会员。因此,您可以通过迭代来设置值,如下所示:
for(ValidItemLocation validItemLocation : yourList)
{
validItemLocation.setAddNew("yourvalue");
//same for other fields
}
答案 2 :(得分:0)
您可以使用for loop
来迭代项目并获取字段,如
for (ValidItemLocation item : Details)
String addNew = item.AddNew;
System.out.println(addNew);
...