我希望在我的Eclipse中显示alfresco内容模型中的内容。以下是我在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());
答案 0 :(得分:1)
array.toString
打印数组的地址,而不是其中的元素。
您可以使用java.util.Arrays.toString方法打印字符串
所以你的代码应该像
System.out.println(Arrays.toString(sampleTest.getSubTypes(ContentModel.TYPE_CONTENT, true).toArray()));
答案 1 :(得分:0)
您要打印Collection
吗?您可以将其转换为数组,并使用Arrays.toString(arr)
或Arrays.deepToString(arr)
:
Arrays.toString(
sampleTest.getSubTypes(ContentModel.TYPE_CONTENT, true).toArray());
你在尝试的是:
.toArray().toString()
因此它将Collection
转换为数组并调用该数组对象上的toString()
,因此默认调用Object#toString():
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符“@”和对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回一个等于值的字符串:
getClass()。getName()+'@'+ Integer.toHexString(hashCode())
答案 2 :(得分:0)
也许方法Arrays.toString()
正是您所寻找的。
Object上的.toString()
仅为您提供Object represantation而不是String的实际值(如果它没有被覆盖)。