0

我想让 alfresco 的内容模型中的内容显示在我的 Eclipse 中。以下是我在 Dictionary 服务中的方法:

@Override
public Collection<QName> getSubTypes(QName arg0, boolean arg1)
{   
    //qName = (ArrayList<QName>) model.put("Array is", arg0);
    qName.add(arg0);
    return qName;
}

这就是我在测试类上调用该方法的方式:

        SampleTest sampleTest = new SampleTest();
//      WebScriptRequest webScriptRequest =null;     
//      webScriptRequest.getExtensionPath();;
//      String string = webScriptRequest.getExtensionPath();
        System.out.println("" + sampleTest.getSubTypes(ContentModel.TYPE_CONTENT, true).toArray().toString());
4

3 回答 3

1

array.toString打印数组的地址,而不是其中的元素。

您可以使用java.util.Arrays.toString方法打印字符串

所以你的代码应该像

System.out.println(Arrays.toString(sampleTest.getSubTypes(ContentModel.TYPE_CONTENT, true).toArray()));
于 2013-07-10T06:35:46.967 回答
0

您要打印Collection吗?您可以将其转换为数组并使用Arrays.toString(arr)or Arrays.deepToString(arr)

Arrays.toString(
    sampleTest.getSubTypes(ContentModel.TYPE_CONTENT, true).toArray());

你正在尝试的是:

.toArray().toString()

因此它将 转换Collection为数组并toString()在该数组对象上调用 ,因此默认情况下调用Object#toString()

Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。换句话说,此方法返回一个等于以下值的字符串:

getClass().getName() + '@' + Integer.toHexString(hashCode())

于 2013-07-10T06:35:25.397 回答
0

也许该方法Arrays.toString()就是您正在寻找的。 .toString()在一个对象上只给你对象表示而不是作为字符串的实际值(如果它没有被覆盖)。

于 2013-07-10T06:35:35.577 回答