黑马程序员技术交流社区

标题: try中有return,是先执行return还是先执行finally的问题论证 [打印本页]

作者: 樊佰轩    时间: 2015-8-9 13:36
标题: try中有return,是先执行return还是先执行finally的问题论证
//该问题是入学申请测试中的一道题,相信很多同学都遇到过。
//如果有更好的解法,希望同学发一下,互相学习。谢谢
import java.util.*;
public class TryFinallyDemo
{
    //如果外部接收到true代表先执行return,后执行finally。
   //如果外部接收到false代表先执行finally,后执行return。
    public static boolean Demo_1( ) {
        boolean flag = false;
        try{
             System.out.println("try::::"+flag);
             return (flag = true);
        }
         finally{
              System.out.println("finally:::::"+flag);
              return false;
        }

    }
    //外部接受ArryList结果,
    //遍历集合打印时,如果只有try代表先执行return后执行try.
    //如果有try和finally,代表先执行finally后执行retrun.
    public static ArryList<String> demo_2( ){
         ArryList<String> al = new ArrayList<String>( );
         try{
                al.add("try");
                return al;
         }
         finally{
               al.add("finally");
         }
    }
    //需要测试的同学可以自己写一下主函数,就是接收返回值打印的操作。
    public static void main(String[] args){};
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2