gpt4 book ai didi

java - 我可以在不硬编码大小的情况下将 ArrayList 中的 Java 值分配给不同的变量吗?

转载 作者:搜寻专家 更新时间:2023-11-01 01:05:27 25 4
gpt4 key购买 nike

我有一个 ArrayList,我们会说它的大小最多为 5。我想将第一个元素分配给 var1,第二个元素分配给 var2,第三个元素分配给 var3,等等。

但是,有时 ArrayList 的项少于 5 个,在这种情况下我不会为某些变量赋值。

所以我的问题是,是否有更好的方法来做到这一点,除了:

if (myArrayList.size() > 0)
var1 = myArrayList.get(0);
if (myArrayList.size() > 1)
var2 = myArrayList.get(1);
if (myArrayList.size() > 2)
var3 = myArrayList.get(2);
if (myArrayList.size() > 3)
var4 = myArrayList.get(3);
if (myArrayList.size() > 4)
var5 = myArrayList.get(4);

最佳答案

这肯定是错误的代码设计造成的。如果 arraylist 不包含该字段(毕竟你以后会用到它),你还要初始化什么变量?一个更大的例子或者你到底想做什么会在这里有所帮助。通常只是使用

但我至少可以想到两种方法:

    switch(myArrayList.size()) {
case 5:
var4 = myArrayList.get(4);
case 4:
var3 = myArrayList.get(3);
case 3:
var2 = myArrayList.get(2);
// and so on
}

或者只使用 try/catch。

    try {
var0 = myArrayList.get(0);
var1 = myArrayList.get(1);
}
catch(IndexOutOfBoundsException ex){
}

但最肯定的是,最好使用 arraylist 本身,并用您原本用于变量的默认值填充它。

关于java - 我可以在不硬编码大小的情况下将 ArrayList 中的 Java 值分配给不同的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436838/

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