我想将数组添加到arraylist中,但有些值会根据条件进行更改。数组的大小总是相同的,但是结束值会不同。
您可以在下面的示例中看到,值[1,2,3]都是相同的,但是“111”或“222”都是基于bool编写的。到目前为止,我已经有了这个方法,但是我必须重复这些字段,当数组中的元素数量增加时,它会变得混乱,因为您必须复制所有内容,然后在else语句中更改需要更改的内容。
boolean bool = true;
ArrayList<String[]> arrayList = new ArrayList<String[]>();
if(bool){
arrayList.add(
new String[]{
"1",
"2",
"3",
"111",
"111",
"111",
}
);
}
else{
arrayList.add(
new String[]{
"1",
"2",
"3",
"222",
"222",
"222"
}
);
}
System.out.println(Arrays.deepToString(arrayList.toArray()));
有没有办法只声明[1,2,3]一次,然后根据条件写出“111”或“222”?比如说:
ArrayList<String[]> arrayList = new ArrayList<String[]>();
arrayList.add(
new String[]{
"1",
"2",
"3",
if(bool) add
"111","111", "111",
else add
"222","222","222"
}
);
4条答案
按热度按时间k3bvogb11#
你需要3个变量来决定
数组的第一部分是什么
从何处开始用条件元素填充数组
条件元素是什么
即
然后你复制第一部分然后填满剩下的部分。
数组的初始化很简单
xzlaal3s2#
您可以尝试以下操作:
lmvvr0a83#
我会这样做:
u4dcyp6a4#
使用局部变量作为可选字段值,这样可以使定义非常简短,例如: