Java中try/finally怎么用

发布时间:2021-11-26 11:23:37 作者:小新
来源:亿速云 阅读:303

这篇文章将为大家详细讲解有关Java中try/finally怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

public class Test {

    public static void main(String[] args) {

        System.out.println(test1());

        System.out.println(test2());

        System.out.println(test3());

        System.out.println(test4());

    }

    private static int test1() {

        int i = 1;

        try {

            return i;

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            i = 0;

        }

        return i;

    }

    private static int test2() {

        int i = 1;

        try {

            return i;

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            i = 0;

            return i;

        }

    }

    private static User test3() {

        User user = new User("u1");

        try {

            return user;

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            user = new User("u2");

        }

        return null;

    }

    private static User test4() {

        User user = new User("u1");

        try {

            return user;

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            user.setName("u2");

        }

        return null;

    }

}

public class User {

    public User(String name) {

        this.name = name;

    }

    private String name;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    @Override

    public String toString() {

        return name;

    }

}

答案如下:

1

0

u1

u2

结论

1、不管try,finally都会执行;

2、在try中return,在finally执行前会把结果保存起来,即使在finally中有修改也以try中保存的值为准,但如果是引用类型,修改的属性会以finally修改后的为准;

3、如果try/finally都有return,直接返回finally中的return。

关于“Java中try/finally怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. 怎么用Java实现语音测试
  2. java程序linux发布流程是怎么样的

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Java多线程面试题有哪些

下一篇:C#如何实现基于Socket套接字的网络通信封装

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》