gpt4 book ai didi

java - 可变长度对象和使用传统的 for 循环

转载 作者:行者123 更新时间:2023-12-01 18:26:36 24 4
gpt4 key购买 nike

在我的方法之一中,我需要将对象作为可变长度参数传递。但是,首先我需要处理最后一个对象,然后在此基础上完成许多其他处理。我无法弄清楚如何使用传统的 for 循环然后索引来对变量参数列表中的每个项目使用索引。所以我使用了下面的代码。这是像我一样将对象引用复制到另一个 Array 或 ArrayList 的正确方法吗?否则,首先访问特定对象然后循环所有其他对象的最佳方法是什么。

 public static int generateConnectedPatterns(String endStr,Moorchana.MoorchanInnerClass...totalPatterns) {


// First copy all the objects to new ArrayList or Array of objects
ArrayList <Moorchana.MoorchanInnerClass> objectList = new ArrayList<>();
objectList.addAll(Arrays.asList(totalPatterns));
//Temporarily use lastObject variable for convenience.
Moorchana.MoorchanInnerClass lastObject = objectList.get(objectList.size()-1);
// Split the last input string into swaras
ArrayList<Integer> indices = new ArrayList<>();
ArrayList<String> tempPatternList = new ArrayList<>();

splitInputPatternIntoArrayList(tempPatternList , indices, lastObject.rawInputString);

if (Moorchana.validatePresenceInSwaraPool(endStr, lastObject.returnOuterObjectRef().swaraPool) == -1) {
return (-1);
}

// Get the index of the ending String
int indexofEndStr = lastObject.returnOuterObjectRef().getSwaraIndex(endStr);
// Now get the number of patterns to be generated.
int count = lastObject.returnOuterObjectRef().getPatternCount(indices, indexofEndStr);


// Now Do remaining programming here based on the count.


return(Constants.SUCCESS);
}

最佳答案

可变参数基本上是一个数组

检查 nulllength 后,您就可以像使用数组一样访问最后一个元素。

另一方面,Arrays.asList 返回一个固定大小列表,这意味着您稍后将无法操纵其大小,因此请注意UnsupportedOperationException

简而言之,您可以将可变参数用作数组,并在执行必要的检查后引用最后一个元素。

关于java - 可变长度对象和使用传统的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25910433/

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