基本上,我有一个在脚本开头创建的数组
public String[] testarray;
然后,我稍后在脚本中想将内容添加到数组中:
if(testvalue == 1) {
testarray[0] = "value1";
}
这显然行不通。我该怎么办?
答案 0 :(得分:0)
在Java中,必须在编译时使用大小初始化数组。大小可以是变量,但是在代码运行时必须是确定性的。因此,您不能只是动态调整大小的数组。
因此,以下方法将起作用:
public String[] testarray = new String[n]; // n is an int
if(testvalue == 1) {
testarray[0] = "value1"; // assuming n>0
}
如果您绝对需要动态大小的数组,则ArrayList
将为您工作。
ArrayList<String> testList = new ArrayList<String>();
testList.add("value1");
列表基本上是按需扩展的数组。
答案 1 :(得分:0)
public String [] testarray; //此数组需要初始化一些大小。
但是,如果您对需要存储的数据长度没有任何预测,则可以使用动态集合API,例如:-
public List<String> testList = new ArrayLisy<String>();
答案 2 :(得分:0)
Java中的数组不是动态的。换句话说,它们在内存中的大小是固定的,您可以从内存中分配给它的位置添加/删除项目。
您可以创建一个特定大小的数组:
0
现在,您可以将其添加到数组的第ArrayList
个索引中,因为它有“空间”。
或者,您可以使用public ArrayList<String> myList = new ArrayList<String>();
,它是动态ADT(即,它可以增大大小)。
.add(String item)
然后您可以使用if(testvalue == 1) {
myList.add("value1");
}
向其添加项目:
import java.util.ArrayList;
但是,如果要使用ArrayList,则需要确保导入适当的库:
from win32com.client import Dispatch
excel = Dispatch("Excel.Application")
workbook = excel.ActiveWorkbook
xlsWB = excel.Workbooks.Open(r'D:\\indexing\\test.xlsx')
xlsSheet = xlsWB.Sheets("sheet1")
mychart = excel.Charts(1)
mychart.Export(Filename=r'D:\\indexing\\test.xlsx.png')