2016-02-14 109 views
0

我試圖通過我的數組列表和打印無效的電子郵件地址進行循環。無效地址不包含@符號或句點。int不能轉換爲charsequence

我收到一個錯誤,int不能轉換爲我的方法charsequence。

public static void print_invalid_emails(){ 
    for (int i = 0; i < studentList.size(); i++) { 
     if (studentList.get(i).getEmail().contains('@' + '.')){ 
      System.out.println("Scanning Roster"); 
     } 
     else { 
      System.out.println("Invalid email address, " + studentList.get(i).getEmail()); 

     } 
    } 
} 
+0

兩個單獨的呼叫會發生什麼事,當你運行該代碼執行這兩個檢查? –

回答

1

的錯誤是在這裏:

if (studentList.get(i).getEmail().contains('@' + '.')){ 

它應該是:

if (studentList.get(i).getEmail().contains("@") || studentList.get(i).getEmail().contains(".")){ 
+0

'''應該是'&&' –

2

的問題是Java把'@' + '.'作爲另外的兩個字符,而不是作爲一個串聯串。此添加的結果是UNICODE代碼點@加上unicode代碼點.,表示爲int

如果你想檢查項目缺少.@,你應該在contains(...)