What does keySet().toArray(new Double[0]) do?



下面的返回值是做什么的?我该如何使用这个值呢:

private Map<Double, String> theLabels = new HashMap<Double, String>();
public Double[] getTheLabels() {
  return theLabels.keySet().toArray(new Double[0]);
  }

正确吗?

Double[] aD = theClassInQuestion.getTheLabels();

提前感谢。

HJW

这是正确的,但是,除非thellabels为空,否则将强制重新分配数组。下面是另一个选项:

public Double[] getTheLabels() {
    return theLabels.keySet().toArray(new Double[theLabels.size()]);
}

将键集转换为Double s数组。编译器/JVM需要new Double[0]参数来推断要返回的数组的正确类型。(如果数组参数足够长,可以容纳所有键值,则使用它,否则将创建一个具有所需长度的相同运行时类型的新数组。)

这是Javadoc。

你对返回值的赋值是正确的

最新更新