从List中检索字符串

时间:2018-06-07 15:03:49

标签: java

我通过调用Utility来创建一个List来进行数据库调用。

List Details = DatabaseMgr.ValidateItemLocation(IsItem,isLevel,myArea,mLoc.getText().toString())

以下屏幕截图显示了返回的详细信息。

我想将字符串设置为List中的AddNew,LocationType和Pass字段。它们在数据库调用返回时都有值,但我无法弄清楚如何引用Details来使用这些值。 它们都是来自存储过程的出站参数的值。

希望我解释一下自己。当我来自VB背景时,Java对我来说仍然是一个新手。

这是屏幕截图

enter image description here

3 个答案:

答案 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>,即类ValidItemLocationAddNewLocationTypePass的对象列表,它是&#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);
  ...