2016-02-14 72 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(...)