gpt4 book ai didi

java - 传递对象数组而不是不确定数量的对象

转载 作者:行者123 更新时间:2023-12-01 07:29:04 25 4
gpt4 key购买 nike

我有一个函数,它获取不定数量的 ImageButtons 作为参数。

private void addButtons(ImageButton... ib) {
// ...
}

所以如果我想这样调用它,这是完美的:

addButtons(button1, button2, button3);

但现在我不得不使用未知数量的对象作为参数,例如数组。在 addButtons 内部,ImageButton 参数用作数组,所以我尝试了以下方法:

ArrayList<ImageButton> ibs = new ArrayList<ImageButton>();
// feed the ibs ArrayList
addButtons((ImageButton[])ibs.toArray());

我得到了一个ClassCastException

为什么?

最佳答案

实际上,方法toArray()返回一个Object[]

你必须使用重载方法toArray(T[])

你应该使用:

addButtons(ibs.toArray(new ImageButton[ibs.size()]));

关于java - 传递对象数组而不是不确定数量的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19772566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com