A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 闫玉泉 黑马帝   /  2012-2-28 14:52  /  3034 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一下代码:public enum TrafficLight {  
    RED,GREEN,YELLOW;  
      
    public static TrafficLight getNextLight(TrafficLight currentLight){  
        switch(currentLight){  
        case RED:  
            return GREEN;  
        case GREEN:  
            return YELLOW;  
        case YELLOW:  
            return RED;  
        }  
        return null;  这是空 可是测试后有返回值 ,这个返回值是如何传递的?  求教!!!
   
    }  
}

3 个回复

倒序浏览
本帖最后由 闫玉泉 于 2012-2-28 14:54 编辑

晕忽然明白了。。。。 这几个return是一个等级的,按顺序执行代码,当满足条件的时候就返回,如果不满足条件则返回空。
回复 使用道具 举报
看程序前先搞懂执行流程
回复 使用道具 举报

public class TestEnum {
public static void main(String[] args) {
        System.out.println(getNextLight(TrafficLight.RED));
       
}
public static TrafficLight getNextLight(TrafficLight currentLight){  
    switch(currentLight){  
    case RED:  
            return currentLight.RED;
      
    case GREEN:  
        return currentLight.GREEN;  
    case YELLOW:  
        return currentLight.YELLOW;  
    }  
    return null;

}  
}
enum TrafficLight {  
    RED,GREEN,YELLOW;  
      
   
}

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马