【发布时间】:2014-01-10 12:45:20
【问题描述】:
谁能帮我简化这个字符串列表:
public class MyList {
// New customers
public static final String mNew1 = "email1";
public static final String mNew2 = "email2";
public static final String mNew3 = "email3";
public static final String mNew4 = "email4";
// Old customers
public static final String mOld1 = "email1";
public static final String mOld2 = "email2";
public static final String mOld3 = "email3";
}
public class App extends Application {
public static boolean mIsNew = false;
public static boolean mIsOld = false;
Pattern emailPattern = Patterns.EMAIL_ADDRESS;
Account[] accounts = AccountManager.get(context).getAccounts();
for (Account account : accounts) {
if (emailPattern.matcher(account.name).matches()) {
String possibleEmail = account.name;
if (MyList.mNew1.matches(possibleEmail) || MyList.mNew2.matches(possibleEmail) ||
MyList.mNew3.matches(possibleEmail) || MyList.mNew4.matches(possibleEmail)) {
mIsNew = true;
}
if (MyList.mOld1.matches(possibleEmail) || MyList.mOld2.matches(possibleEmail) || MyList.mOld3.matches(possibleEmail)) {
mIsOld = true;
}
}
}
由于老客户的电子邮件将在不到一周的时间内超过 10.000 封,您能否建议我一种从 MyList 类中选择字符串并启用正确布尔值的简单方法?即如果 oneOfTheStringInThisList.matches(possibleEmail) mIsOld = true。
我对字符串列表不是很熟悉,抱歉我的菜鸟问题!谢谢!
【问题讨论】: