Java try和finally同时return 最终结果

Tue 23 September 2025

Java try和finally同时return 最终结果

StrangenessWind IP属地: 上海 2022.07.06 17:44:45 字数 185 阅读 418 java中如果方法中同时包含了try和finally代码块,那么try方法块会在finally代码块前执行 如果在try代码块 和finally代码块中同时有return语句,那么finally的return的值会覆盖try代码块的值,同时try中的return语句也会先执行,如果return的是方法体,try和finally代码块都会执行return的方法函数,但是返回值只会是finally代码块的。 下面看个例子:

public class Run {

public static String print(String a) {
    System.out.println(a);
    return a;
}

public static String test() {

    String a = "try代码块返回--1";
    try {
        return print(a);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        a = "finally代码块返回--2";
        return print(a);
    }
}

public static void main(String[] args) {
    String s = test();
    System.out.println("最终返回的数据是:" + s);
}

} 执行上面的main方法打印

try代码块返回--1 finally代码块返回--2 最终返回的数据是:finally代码块返回--2

进程已结束,退出代码0

以上证明: 在finally中的代码始终都会执行,如果try中和finally都执行了方法那么这个方法会被重复执行。

Category: 编程java


jpackage

Tue 23 September 2025

感觉jpackage功能还是不成熟。虽然可以在不需要jvm的环境运行,但是打包后的文件也偏大。

新建一个简单的hello word项目导出为可执行jar包 2.检测是否是可执行jar java -jar demo.jar 如果提示 …

Category: 编程java

Read More

Springboot项目方法异步执行

Tue 23 September 2025

Springboot项目方法异步执行

StrangenessWind IP属地: 上海 2020.05.26 16:45:54 字数 79 阅读 190 首先在启动类加上扫描注解@EnableAsync

import org.springframework.boot.SpringApplication; import org.springframework.scheduling.annotation.EnableAsync;

@SpringBootApplication @EnableAsync public class ImageServiceApplication {

public static void main …

Category: 编程java

Read More
Page 1 of 1