public class TestClass{
private String divisions[] ={};
public void doAction(){
Collection testArray = new ArrayList();
// put testArray will data
divisions = (String [] ) testArray.toArray(division); //should i use this
divisions = (String [] ) testArray.toArray(new String [] {}); //should i use this?
}
}
如果我使用案例1,并且我多次调用doaction,则会出现错误记录 如果我使用case2,分区将始终显示正确的记录。我的假设是应该使用案例2吗?
答案 0 :(得分:0)
是的,在案例1中,您可能在部门结束时遇到额外项目的问题。示例:第一次调用doAction并将除法设置为一定长度时,如果下次调用它时,它需要的空间更少,则会有额外的项目在数组中没有被覆盖。
但是,情况2并不是那么有用,因为如果你传入的数组(在你的例子中长度为零)不够大,那么ArrayList将只创建一个新数组。
答案 1 :(得分:0)
案例2是“更正确”的使用方式。
基本上,你告诉方法你想要什么类型的结果数组。
答案 2 :(得分:0)
仅选择第二个
divisions = (String [] ) testArray.toArray(new String [] {});