2015-12-22 154 views
0

我在學校作業的處理過程中遇到以下問題。在Arraylist中處理'搜索'

我在標籤分隔格式中使用數據集,這是正在讀取和解析到我的活動類。 (menuAnswer,「Subagency」)被使用,所以我只獲得我需要的數據。

for(TableRow singleRow : trafficTable.findRows(menuAnswer, "SubAgency")){ 
 
    Activity singleActivity = new Activity(); 
 
    singleActivity.parseRow(singleRow); 
 
    activities.add(singleActivity); 
 
    }

Activity類看起來是:

class Activity{ 
 

 
String violationType; 
 
String subAgency; 
 
String race; 
 
String gender; 
 
Date readDate; 
 

 
    void parseRow(TableRow row){ 
 
    this.subAgency = row.getString("SubAgency"); 
 
    this.violationType = row.getString("Violation Type"); 
 
    this.race = row.getString("Race"); 
 
    this.gender = row.getString("Gender"); 
 
    
 
    this.readDate = parseDate(row.getString("Time Of Stop") + " " + row.getString("Date"), "HH:mm:ss dd-MM-yyyy"); 
 
    } 
 
    
 
    void printInfo(){ 
 
    println(subAgency + "/" + race + "/" + readDate + "/" + violationType); 
 

 
    } 
 
}

每(有用)片我的數據集的被插入到變量。

在我的主類中,我想搜索violationType字符串並計算此String中的「Warning」的數量。我用下面的代碼,這是行不通的:

for (Activity singleActivity : activities) 
 
    if(singleActivity.violationType == "Warning"){ 
 
     warningCount++; 
 
     println("is it working?"); 
 
    }

我在做什麼錯?

for (Activity singleActivity : activities) 
 
    if(singleActivity.violationType == "Warning"){ 
 
     warningCount++; 
 
     println("is it working?"); 
 
    }

我的我的符號。如果說法是錯誤的,應該是用.equals而不是==操作符,如:

梅洛

回答

0

搜索,我發現我的回答後此:

void countWarning(){ 
 
for (Activity singleActivity : activities){ 
 
if(singleActivity.violationType.equals("Warning")){ 
 
    warningCount++; 
 
} 
 
} 
 
}