int无法转换为charsequence

时间:2016-02-14 22:25:15

标签: java arraylist int charsequence

我正在尝试遍历我的arraylist并打印无效的电子邮件地址。如果无效,则地址不包含@符号或句点。

我收到错误,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());

        }
    }
}

2 个答案:

答案 0 :(得分:2)

问题是Java将'@' + '.'视为两个字符的添加,而不是字符串的串联。此添加的结果是UNICODE代码点@加上unicode代码点.,表示为int

如果您想检查该项目是否缺少.@,您应该在两次单独调用contains(...)

中执行这两项检查

答案 1 :(得分:1)

错误在这里:

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

应该是:

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