Java for循环中的return语句不会退出方法

时间:2014-08-07 10:53:24

标签: java android for-loop return control-flow

单步执行Android Studio中的以下代码,首先会返回到return account.name行,然后转到返回""线!并从方法返回空字符串。

我错过了什么?

//return the username (email address) of the first Google account for the testmobile.co.uk domain on the device
public static String getTestMobileAccountUserName(Context context)
{
    final String TEST_MOBILE_ACCOUNT_TYPE = "com.google";
    final String TEST_MOBILE_GOOGLE_APPS_DOMAIN = "testmobile.co.uk";

    AccountManager accountManager = AccountManager.get(context);
    Account[] accounts = accountManager.getAccountsByType(TEST_MOBILE_ACCOUNT_TYPE);

    for (Account account: accounts)
    {
        if (account.name.endsWith("@" + TEST_MOBILE_GOOGLE_APPS_DOMAIN))
        {
            return account.name;
        }
    }

    return "";
}

当我在调试器中单步执行时,account.name在return account.name行设置为lalala@testmobile.co.uk。

1 个答案:

答案 0 :(得分:3)

执行return语句时,调试工具将转到该方法的最后一条语句,但不会执行。如果它返回“”,是因为account.name是“”。别担心,两次返回都没有执行。