Java教程

Java 中的编译期常量是什么?使用它有什么风险?

本文主要是介绍Java 中的编译期常量是什么?使用它有什么风险?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

编译期常量指的就是程序在编译时就能确定这个常量的具体值
非编译期常量就是程序在运行时才能确定常量的值,因此也称为运行时常量
定义上来说,声明为final类型的基本类型或String类型并直接赋值(非运算)的变量就是编译期常量,即:

//编译时常量
final int i = 4;
final String str = "dasd";

// 非编译期常量
final String str1 = new String("dasd");


Random rand = new Random(47);
//这个也是非编译期常量,为运行时常量
final int i4 = rand.nextInt(20);

提示:

这种方式存在的一个问题是你使用了一个内部的或第三方库中的公有编译时常量,但是这个值后面被其他人改变了,部署了一个新的jar,但是你的客户端仍然在使用老的值。为了避免这种情况,当你在更新依赖 JAR 文件时,确保重新编译你的程序。这里的更新JAR文件,重新编译程序是为了更新你使用的编译期常量的值!

————————————————
版权声明:本文为CSDN博主「弗兰随风小欢」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32575047/article/details/78846264

这篇关于Java 中的编译期常量是什么?使用它有什么风险?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!