误解返回方法的行为

时间:2016-12-01 12:03:31

标签: java android android-studio

我无法理解为什么下面的代码执行两个不同的返回行:

public static QuotazioneInfo load(QuotazioneInfo quotazione) {
    QuotazioneInfo quotazioneInfoCached = quotazioniCached.get(quotazione.getTitolo());
    if(quotazioneInfoCached != null){
        long ultimoAggiornamento = new Date().getTime() - lastUpdated.get(quotazione.getTitolo()).getTime();
        long DIECI_MINUTI = 600000;
        if(ultimoAggiornamento < DIECI_MINUTI)
            return quotazioneInfoCached; <-- Debugger passing HERE
    }

    HttpURLConnection urlConnection = null;
    try {
        // [cut]
        lastUpdated.put(quotazione.getTitolo(), new Date());
        quotazioniCached.put(quotazione.getTitolo(), quotazione);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (urlConnection != null)
            urlConnection.disconnect();
    }
    return quotazione; <-- And also HERE
}

使用调试器我看到它将执行两个返回行代码,但第二个返回一个错误的值。为什么会这样?

由于

0 个答案:

没有答案