如何将java ArrayList对象转换为实际值

时间:2014-01-08 12:56:28

标签: java arraylist

我正试图从数据库中获取一个值。

我的数据库查询:

String GroupID1="select idCompanies from companies where Company_Name='ACME';";

这里我正在调用一个javabeans,它返回一个带有一个元素的ArrayLIst

ArrayList<?> IdGroup1=oper.getList(GroupID1);

然后,我打印结果:

System.out.println(IdGroup1);

查询工作正常,但我得到了结果:

[javabeans.ListOneElement@609f6e68]

而不是真正的价值。如何将java对象转换为实际值?

3 个答案:

答案 0 :(得分:1)

您正在打印ArrayList对象IdGroup1,您需要迭代才能获得对象

答案 1 :(得分:1)

此代码将从列表中检索第一个(也是唯一的)项目:

System.out.println(IdGroup1.get(0).toString());

添加以下内容将阻止nullPointerException:

if (!IdGroup1.isEmpty())
    System.out.println(IdGroup1.get(0).toString());

- 已添加.toString()以获取对象的值

答案 2 :(得分:0)

考虑将返回什么类型的对象oper.getList(GroupID1)

您需要适应任何对象,然后将其转换为String。

你需要:

  1. 解压缩列表(这是一个列表包含,并且java期望可能包含多个对象,所以如果你有一个,它不会自动'解包'它1个对象的列表)

  2. 提取你的字符串。在这里,java可能会巧妙地将数字(int,float等)转换为字符串。

  3. 对于第二部分,通过查找处理数据库查询的任何包的JavaDocs来查看对象的期望。然后看看如何提取你的字符串。

    可能就像System.out.println(IdGroup1.get(0).toString());一样简单 其中get(0)从列表中解包对象,toString()提取字符串。

    如果你仍然回来javabeans.ListOneElement@41ccdc4d尝试其他方法来提取你的字符串.... toValue()或许?这取决于您正在使用的包裹。