一、满足以下三个条件,一个final变量就不再是一个变量,而是一个直接量。使用final修饰符修饰。在申明的时候就进行初始化初始化的值在编译器就可以确定。二、在什么情况下初始化的值在编译期是可以确定下来的? 被赋的表达式只是基本的算术表达式或字符串链接运算,没有访问普通变量,调 ...
一、满足以下三个条件,一个final变量就不再是一个变量,而是一个直接量。
- 使用final修饰符修饰。
- 在申明的时候就进行初始化
- 初始化的值在编译器就可以确定。
二、在什么情况下初始化的值在编译期是可以确定下来的?
被赋的表达式只是基本的算术表达式或字符串链接运算,没有访问普通变量,调用方法。
package fianlFieldCase;public class Test { public static void main(String[] args) { final String str1 = "final" + "field"; final String str2 = "java" + 8; //下面的str3的值因为调用了方法,所以值在编译期不能确定 final String str3 = "java" + String.valueOf(8); final int a = 2 + 3; final double b = 1.5 / 3; System.out.println("java8" == str2); System.out.println("java8" == str3); }}
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:【JAVA】在编译期可直接替换的final变量
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。