簡體   English   中英

從string.split()java獲取數組

[英]Getting an array from string.split() java

所以我有以下幾點代碼:

while((line = reader.readLine()) != null) {
    String[] row = line.split(",");
    this.table.add(row);  

使用以下內容啟動this.table的地方:

ArrayList table = new ArrayList();

然后,當我試圖在表格中獲得一行時,如下所示:

for(int i=0; i<table.size(); ++i){
    for(int j=0; j<table.get(i).length; ++j) {
        //some code    
        }

它(強調get(i).length;並給出一個錯誤,說它找不到符號。符號:length location:class Object。

怎么了? string.split()不返回數組嗎? 如果是,為什么我不能使用任何數組類方法/變量?

謝謝!

ArrayList不是數組列表,它是數組支持的列表。

但是你可以使用泛型使它成為數組列表。

List<String[]> table = new ArrayList<String[]>();

然后你的代碼應該工作。

你應該使用java泛型

List<String[]> table = new ArrayList<String[]>();

然后你會得到帶有get(i)調用的String[]實例。 另請注意使用List接口聲明表變量。 盡可能使用適合您需要的超級接口,而不是實現類。

此外,從Java 1.5開始,您可以使用更直觀的語法(當然,這假設您使用之前推薦的泛型):

for(String[] processedRow : table){
    for(String processedField : processedRow) {
        //some code    
    }
}

您需要輸入清單:

List<String[]> table = new ArrayList<String[]>();

那么java編譯器就會知道String[]存儲在你的列表中。

ArrayList table = new ArrayList();
//  change with:
ArrayList<String[]> table = new ArrayList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM