我是java的新手,在没有指定数组索引的情况下,将值添加/传递给数组字符串的正确方法是什么。
我想在数组中添加一个值,就像在php数组中那样。
static String[] var_productname = new String[20];
public void setProductName(String productName){
var_productname[] = productName;
}
答案 0 :(得分:2)
根据您的示例:
static List<String> var_productname = new ArrayList<>();
public void setProductName(String productName){
var_productname.add(productName);
}
初始容量是可选的,但您可以使用new ArrayList<>(20)
实例化数组,其中20是初始(非最大)容量。
答案 1 :(得分:1)
如果您只是在调用setProductName
时试图避免指定索引,这是一个简单的方法。 (但是,该方法将在内部使用并更新索引。)
请注意,如果您尝试追加超过20个字符串,则此简单实现将引发异常。此外,我制作了setProductName
static
方法,因为您制作了var_productname
static
,因此更有意义。
static String[] var_productname = new String[20];
static int pnIndex = 0;
public static void setProductName(String productName) {
var_productname[pnIndex++] = productName;
}
答案 2 :(得分:0)
数组不能直接附加元素,将数组更改为其他数据结构
答案 3 :(得分:0)
在这种情况下,你会选择一个名为Collections
Arrays的问题在于,您无法在运行时动态增加它的大小,并且您只能按照指定的长度添加值。
由于int[] nArray= new int[20];
只会包含20个项目,因此无法进一步动态地将大小从20
增加到21
并添加元素。
如上所述,您可以进行任何List
实施。