以下回报有何作用?我该如何使用该值:
private Map<Double, String> theLabels = new HashMap<Double, String>();
public Double[] getTheLabels() {
return theLabels.keySet().toArray(new Double[0]);
}
这是对的吗?
Double[] aD = theClassInQuestion.getTheLabels();
提前致谢。
HJW
答案 0 :(得分:6)
但是,除非theLabels为空,否则强制重新分配数组是正确的。这是另一种选择:
public Double[] getTheLabels() {
return theLabels.keySet().toArray(new Double[theLabels.size()]);
}
答案 1 :(得分:4)
它将密钥集转换为Double
s的数组。编译器/ JVM需要参数new Double[0]
来推断要返回的数组的正确类型。 (如果数组参数足够长以容纳所有键值,则将使用它,否则将创建具有所需长度的相同运行时类型的新数组。)
这是the Javadoc。
您对返回值的分配是正确的。