2017-01-24 16 views
0

我是java新手,在沒有指定數組索引的情況下向數組字符串中添加/傳遞一個值的正確方法是什麼?如何在java中添加數組的值

我想添加一個值到數組中,就像在php數組中做的一樣。

static String[] var_productname = new String[20]; 

public void setProductName(String productName){ 
    var_productname[] = productName; 

} 
+0

1)我不確定Android是「新到Java」的良好開端。 2)靜態方法在setter方法中效果不好3)爲什麼「productName」是一個數組?聽起來像是一個單獨的對象 –

+0

你問的是如何擴展數組容量,或者如何保持隱式索引? – shmosel

回答

2

您可以使用List實現作爲ArrayList

基於你例如:

static List<String> var_productname = new ArrayList<>(); 

public void setProductName(String productName){ 
    var_productname.add(productName); 

} 

初始容量是可選的,但可以使用實例化new ArrayList<>(20),其中20是初始(未最大)容量陣列。

1

如果你只是想在撥打setProductName時避免指定索引,這裏有一個簡單的方法。 (但是,該方法將在內部使用並更新索引)。

請注意,如果您試圖追加超過20個字符串,則此簡單實現將引發異常。另外,我製作了setProductName a static方法,這更有意義,因爲您製作了var_productnamestatic

static String[] var_productname = new String[20]; 
static int pnIndex = 0; 

public static void setProductName(String productName) { 
    var_productname[pnIndex++] = productName; 
} 
0

陣列不能追加元素直接改變陣列其他數據結構

+0

答案應該比一行更長;更改答案以描述上下文中更完整的解決方案,並可能使用完整句子和標點符號 – jdv

0

在這種情況下,你會去一個叫Collections

使用數組的問題的概念是,你不能動態在運行時增加它的大小,並且只能按照指定的長度添加值。

由於int[] nArray= new int[20];只能容納20個項目,您不能進一步動態增加大小從2021並添加元素。

如上建議你可以去任何List的實現。